Repository: activemq
Updated Branches:
  refs/heads/trunk 5e14eecce -> 6972d37e6


Add in transacted producer rollback test.

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/6972d37e
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/6972d37e
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/6972d37e

Branch: refs/heads/trunk
Commit: 6972d37e63cc92698673b34832d10b2d77b09e33
Parents: 5e14eec
Author: Timothy Bish <[email protected]>
Authored: Wed Mar 19 14:15:26 2014 -0400
Committer: Timothy Bish <[email protected]>
Committed: Wed Mar 19 14:15:59 2014 -0400

----------------------------------------------------------------------
 .../activemq/transport/amqp/JMSClientTest.java  | 28 ++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/6972d37e/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
----------------------------------------------------------------------
diff --git 
a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
 
b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
index 7ae8ef7..313ac97 100644
--- 
a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
+++ 
b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java
@@ -784,6 +784,34 @@ public class JMSClientTest extends AmqpTestSupport {
         connection.close();
     }
 
+    @Test(timeout=30000)
+    public void testSessionTransactedRollback() throws JMSException, 
InterruptedException {
+        ActiveMQAdmin.enableJMSFrameTracing();
+
+        Connection connection = createConnection();
+        Session session = connection.createSession(true, 
Session.AUTO_ACKNOWLEDGE);
+        Queue queue = session.createQueue(name.toString());
+
+        connection.start();
+
+        // transacted producer
+        MessageProducer pr = session.createProducer(queue);
+        for (int i = 0; i < 10; i++) {
+            Message m = session.createTextMessage("TestMessage" + i);
+            pr.send(m);
+        }
+
+        session.rollback();
+
+        // No commit in place, so no message should be dispatched.
+        MessageConsumer consumer = session.createConsumer(queue);
+        TextMessage m = (TextMessage) consumer.receive(5000);
+        assertNull(m);
+
+        session.close();
+        connection.close();
+    }
+
     private String createLargeString(int sizeInBytes) {
         byte[] base = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
         StringBuilder builder = new StringBuilder();

Reply via email to