use of org.apache.activemq.command.SessionInfo in project activemq-artemis by apache.
the class SessionInfoTest method populateObject.
@Override
protected void populateObject(Object object) throws Exception {
super.populateObject(object);
SessionInfo info = (SessionInfo) object;
info.setSessionId(createSessionId("SessionId:1"));
}
use of org.apache.activemq.command.SessionInfo in project activemq-artemis by apache.
the class SessionInfoTest method populateObject.
@Override
protected void populateObject(Object object) throws Exception {
super.populateObject(object);
SessionInfo info = (SessionInfo) object;
info.setSessionId(createSessionId("SessionId:1"));
}
use of org.apache.activemq.command.SessionInfo in project activemq-artemis by apache.
the class SessionInfoTest method createObject.
@Override
public Object createObject() throws Exception {
SessionInfo info = new SessionInfo();
populateObject(info);
return info;
}
use of org.apache.activemq.command.SessionInfo in project activemq-artemis by apache.
the class RecoverExpiredMessagesTest method sendSomeMessagesThatWillExpireIn5AndThenOne.
private void sendSomeMessagesThatWillExpireIn5AndThenOne() throws Exception {
// Setup the producer and send the message.
StubConnection connection = createConnection();
ConnectionInfo connectionInfo = createConnectionInfo();
SessionInfo sessionInfo = createSessionInfo(connectionInfo);
ProducerInfo producerInfo = createProducerInfo(sessionInfo);
connection.send(connectionInfo);
connection.send(sessionInfo);
connection.send(producerInfo);
int MESSAGE_COUNT = 10;
for (int i = 0; i < MESSAGE_COUNT; i++) {
Message message = createMessage(producerInfo, destination);
message.setExpiration(System.currentTimeMillis() + 5000);
message.setPersistent(true);
connection.send(message);
}
Message message = createMessage(producerInfo, destination);
message.setPersistent(true);
connection.send(message);
expected.add(message.getMessageId().toString());
connection.request(closeConnectionInfo(connectionInfo));
}
use of org.apache.activemq.command.SessionInfo in project activemq-artemis by apache.
the class FailoverTransportBrokerTest method testPublisherFailsOver.
@Test
public void testPublisherFailsOver() throws Exception {
// Start a normal consumer on the local broker
StubConnection connection1 = createConnection();
ConnectionInfo connectionInfo1 = createConnectionInfo();
SessionInfo sessionInfo1 = createSessionInfo(connectionInfo1);
ConsumerInfo consumerInfo1 = createConsumerInfo(sessionInfo1, destination);
connection1.send(connectionInfo1);
connection1.send(sessionInfo1);
connection1.request(consumerInfo1);
// Start a normal consumer on a remote broker
StubConnection connection2 = createRemoteConnection();
ConnectionInfo connectionInfo2 = createConnectionInfo();
SessionInfo sessionInfo2 = createSessionInfo(connectionInfo2);
ConsumerInfo consumerInfo2 = createConsumerInfo(sessionInfo2, destination);
connection2.send(connectionInfo2);
connection2.send(sessionInfo2);
connection2.request(consumerInfo2);
// Start a failover publisher.
LOG.info("Starting the failover connection.");
StubConnection connection3 = createFailoverConnection(null);
ConnectionInfo connectionInfo3 = createConnectionInfo();
SessionInfo sessionInfo3 = createSessionInfo(connectionInfo3);
ProducerInfo producerInfo3 = createProducerInfo(sessionInfo3);
connection3.send(connectionInfo3);
connection3.send(sessionInfo3);
connection3.send(producerInfo3);
// Send the message using the fail over publisher.
connection3.request(createMessage(producerInfo3, destination, deliveryMode));
// The message will be sent to one of the brokers.
FailoverTransport ft = connection3.getTransport().narrow(FailoverTransport.class);
// See which broker we were connected to.
StubConnection connectionA;
StubConnection connectionB;
EmbeddedJMS serverA;
if (new URI(newURI(0)).equals(ft.getConnectedTransportURI())) {
connectionA = connection1;
connectionB = connection2;
serverA = server;
} else {
connectionA = connection2;
connectionB = connection1;
serverA = remoteServer;
}
Assert.assertNotNull(receiveMessage(connectionA));
assertNoMessagesLeft(connectionB);
// Dispose the server so that it fails over to the other server.
LOG.info("Disconnecting the active connection");
serverA.stop();
connection3.request(createMessage(producerInfo3, destination, deliveryMode));
Assert.assertNotNull(receiveMessage(connectionB));
assertNoMessagesLeft(connectionA);
}
Aggregations