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();
