Repository: activemq-artemis Updated Branches: refs/heads/master 9385ce487 -> 150f67f86
ARTEMIS-1052 adding a test for expiry and AMQP This closes #1106 Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/7ac27df7 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/7ac27df7 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/7ac27df7 Branch: refs/heads/master Commit: 7ac27df7a0208714d70b920c1be9635bf0097eec Parents: 9385ce4 Author: Jiri Danek <[email protected]> Authored: Mon Mar 20 10:38:05 2017 +0100 Committer: Clebert Suconic <[email protected]> Committed: Mon Mar 20 18:05:45 2017 -0400 ---------------------------------------------------------------------- .../amqp/SendingAndReceivingTest.java | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/7ac27df7/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java ---------------------------------------------------------------------- diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java index 46e3b95..3c4e915 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/SendingAndReceivingTest.java @@ -18,6 +18,7 @@ package org.apache.activemq.artemis.tests.integration.amqp; import javax.jms.Connection; import javax.jms.ConnectionFactory; +import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Queue; @@ -26,8 +27,11 @@ import javax.jms.TextMessage; import java.util.Random; import java.util.Set; +import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.api.core.TransportConfiguration; import org.apache.activemq.artemis.core.server.ActiveMQServer; +import org.apache.activemq.artemis.core.settings.HierarchicalRepository; +import org.apache.activemq.artemis.core.settings.impl.AddressSettings; import org.apache.activemq.artemis.tests.util.ActiveMQTestBase; import org.apache.qpid.jms.JmsConnectionFactory; import org.junit.After; @@ -91,6 +95,45 @@ public class SendingAndReceivingTest extends ActiveMQTestBase { } } + @Test(timeout = 60000) + public void testSendMessageThenAllowToExpireUsingTimeToLive() throws Exception { + AddressSettings as = new AddressSettings(); + as.setExpiryAddress(SimpleString.toSimpleString("DLQ")); + HierarchicalRepository<AddressSettings> repos = server.getAddressSettingsRepository(); + repos.addMatch("exampleQueue", as); + + Connection connection = null; + ConnectionFactory connectionFactory = new JmsConnectionFactory("amqp://localhost:61616"); + + try { + connection = connectionFactory.createConnection(); + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + String address = "exampleQueue"; + Queue queue = session.createQueue(address); + + MessageProducer sender = session.createProducer(queue); + sender.setTimeToLive(10); + + Message message = session.createMessage(); + sender.send(message); + connection.start(); + + MessageConsumer consumer = session.createConsumer(queue); + Message m = consumer.receive(5000); + Assert.assertNull(m); + consumer.close(); + + consumer = session.createConsumer(session.createQueue("DLQ")); + m = consumer.receive(5000); + Assert.assertNotNull(m); + consumer.close(); + } finally { + if (connection != null) { + connection.close(); + } + } + } + private static String createMessage(int messageSize) { final String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Random rnd = new Random();
