[jboss-cvs] JBoss Messaging SVN: r2629 - trunk/tests/src/org/jboss/test/messaging/jms/message.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 2 23:49:30 EDT 2007


Author: clebert.suconic at jboss.com
Date: 2007-05-02 23:49:30 -0400 (Wed, 02 May 2007)
New Revision: 2629

Modified:
   trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
Log:
http://jira.jboss.org/jira/browse/JBMESSAGING-951 - Adding testcase

Modified: trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2007-05-02 20:10:22 UTC (rev 2628)
+++ trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2007-05-03 03:49:30 UTC (rev 2629)
@@ -18,6 +18,9 @@
 import javax.jms.MessageProducer;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
+import javax.jms.XAConnectionFactory;
+import javax.jms.XAConnection;
+import javax.management.ObjectName;
 
 /**
  * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
@@ -72,6 +75,52 @@
       assertNull(cons.receive(3000));
    }
 
+   public void testExpirationTransfer() throws Exception
+   {
+
+      ServerManagement.deployQueue("expiredTarget");
+
+      Object originalValue = ServerManagement.getAttribute(ServerManagement.getServerPeerObjectName(), "DefaultExpiryQueue");
+
+      ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "DefaultExpiryQueue", "jboss.messaging.destination:service=Queue,name=expiredTarget");
+
+      try
+      {
+
+         ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
+         Queue queue = (Queue)ic.lookup("/queue/expiredMessageTestQueue");
+
+         Connection conn = cf.createConnection();
+
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer cons = session.createConsumer(queue);
+
+         conn.start();
+
+         MessageProducer prod = session.createProducer(queue);
+         prod.setTimeToLive(100);
+
+         Message m = session.createTextMessage("This message will die");
+
+         prod.send(m);
+
+         // wait for the message to die
+
+         Thread.sleep(5000);
+
+
+         assertNull(cons.receive(3000));
+      }
+      finally
+      {
+         ServerManagement.destroyQueue("expiredSource");
+         ServerManagement.destroyQueue("expiredTarget");
+         ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "DefaultExpiryQueue", originalValue.toString());
+      }
+
+   }
+
    // Package protected ----------------------------------------------------------------------------
 
    // Protected ------------------------------------------------------------------------------------




More information about the jboss-cvs-commits mailing list