You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2016/05/13 14:50:37 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-6286 -
variant on test with n consumers sharing a session
Repository: activemq
Updated Branches:
refs/heads/master 3c0a4d960 -> d7b5a62bb
https://issues.apache.org/jira/browse/AMQ-6286 - variant on test with n consumers sharing a session
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/d7b5a62b
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/d7b5a62b
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/d7b5a62b
Branch: refs/heads/master
Commit: d7b5a62bb0f5131986bbb16d26758f986e4d9222
Parents: 3c0a4d9
Author: gtully <ga...@gmail.com>
Authored: Fri May 13 15:50:13 2016 +0100
Committer: gtully <ga...@gmail.com>
Committed: Fri May 13 15:50:13 2016 +0100
----------------------------------------------------------------------
.../QueueOrderSingleTransactedConsumerTest.java | 33 ++++++++++++++++----
1 file changed, 27 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/d7b5a62b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueOrderSingleTransactedConsumerTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueOrderSingleTransactedConsumerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueOrderSingleTransactedConsumerTest.java
index 4ef36bd..78c50b3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueOrderSingleTransactedConsumerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueOrderSingleTransactedConsumerTest.java
@@ -47,15 +47,37 @@ public class QueueOrderSingleTransactedConsumerTest {
publishMessages(100);
- consumeVerifyOrderAndRollback(20);
- consumeVerifyOrderAndRollback(10);
- consumeVerifyOrderAndRollback(5);
+ consumeVerifyOrderRollback(20);
+ consumeVerifyOrderRollback(10);
+ consumeVerifyOrderRollback(5);
}
- private void consumeVerifyOrderAndRollback(final int num) throws Exception {
+ @Test
+ public void testSingleSessionXConsumerTxRepeat() throws Exception {
+
+ publishMessages(100);
+
Connection connection = new ActiveMQConnectionFactory(broker.getTransportConnectorByScheme("tcp").getPublishableConnectString()).createConnection();
connection.start();
Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+ consumeVerifyOrder(session, 20);
+ session.rollback();
+ consumeVerifyOrder(session, 10);
+ session.rollback();
+ consumeVerifyOrder(session, 5);
+ session.commit();
+ }
+
+ private void consumeVerifyOrderRollback(final int num) throws Exception {
+ Connection connection = new ActiveMQConnectionFactory(broker.getTransportConnectorByScheme("tcp").getPublishableConnectString()).createConnection();
+ connection.start();
+ Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+ consumeVerifyOrder(session, num);
+ session.rollback();
+ connection.close();
+ }
+
+ private void consumeVerifyOrder(Session session, final int num) throws Exception {
MessageConsumer messageConsumer = session.createConsumer(dest);
for (int i=0; i<num; ) {
Message message = messageConsumer.receive(4000);
@@ -64,8 +86,7 @@ public class QueueOrderSingleTransactedConsumerTest {
i++;
}
}
- session.rollback();
- connection.close();
+ messageConsumer.close();
}
private void publishMessages(int num) throws Exception {