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 {