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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 21 10:07:16 EDT 2008


Author: jmesnil
Date: 2008-05-21 10:07:16 -0400 (Wed, 21 May 2008)
New Revision: 4270

Modified:
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
Log:
added testExpiredAndLivingMessage

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2008-05-21 13:59:19 UTC (rev 4269)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2008-05-21 14:07:16 UTC (rev 4270)
@@ -11,6 +11,7 @@
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
+import javax.jms.TextMessage;
 
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.test.messaging.JBMServerTestCase;
@@ -65,6 +66,40 @@
       conn.close();
    }
    
+   public void testExpiredAndLivingMessages() throws Exception
+   {
+      Connection conn = getConnectionFactory().createConnection();
+      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+      MessageProducer prod = session.createProducer(queue1);
+
+      // sent 2 messages: 1 expiring, 1 living
+      TextMessage livingMessage = session.createTextMessage("This message will live");
+      TextMessage expiringMessage = session.createTextMessage("This message will expire");
+
+      prod.setTimeToLive(1);
+      prod.send(expiringMessage);
+
+      prod.setTimeToLive(0);
+      prod.send(livingMessage);
+      
+      // wait for the expiring message to die
+      Thread.sleep(250);
+
+      MessageConsumer cons = session.createConsumer(queue1);
+      conn.start();
+
+      // receive living message
+      Message receivedMessage = cons.receive(1000);
+      assertNotNull("did not receive living message", receivedMessage);
+      assertTrue(receivedMessage instanceof TextMessage);
+      assertEquals(livingMessage.getText(), ((TextMessage)receivedMessage).getText());
+
+      // we do not receive the expiring message
+      assertNull(cons.receive(1000));
+      
+      conn.close();
+   }
+   
    public void testManyExpiredMessagesAtOnce() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();




More information about the jboss-cvs-commits mailing list