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

Reply via email to