You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2014/03/19 19:16:16 UTC
git commit: Add in transacted producer rollback test.
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 <ta...@gmai.com>
Authored: Wed Mar 19 14:15:26 2014 -0400
Committer: Timothy Bish <ta...@gmai.com>
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();