[jboss-cvs] JBoss Messaging SVN: r2783 - in trunk: src/main/org/jboss/messaging/core/plugin/postoffice/cluster and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 15 03:56:43 EDT 2007


Author: sergeypk
Date: 2007-06-15 03:56:43 -0400 (Fri, 15 Jun 2007)
New Revision: 2783

Modified:
   trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOffice.java
   trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-984

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-06-14 12:16:17 UTC (rev 2782)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-06-15 07:56:43 UTC (rev 2783)
@@ -86,6 +86,7 @@
 import org.jboss.util.id.GUID;
 
 import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
+import EDU.oswego.cs.dl.util.concurrent.LinkedQueue;
 import EDU.oswego.cs.dl.util.concurrent.QueuedExecutor;
 import EDU.oswego.cs.dl.util.concurrent.SynchronizedLong;
 
@@ -153,7 +154,7 @@
    private SynchronizedLong deliveryIdSequence;
    
    //Temporary until we have our own NIO transport   
-   QueuedExecutor executor = new QueuedExecutor();
+   QueuedExecutor executor = new QueuedExecutor(new LinkedQueue());
    
    // Constructors ---------------------------------------------------------------------------------
 
@@ -953,7 +954,7 @@
          }
       }      
    } 
-   
+
    void promptDelivery(final Channel channel)
    {
    	if (trace) { log.trace("Prompting delivery on " + channel); }

Modified: trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOffice.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOffice.java	2007-06-14 12:16:17 UTC (rev 2782)
+++ trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOffice.java	2007-06-15 07:56:43 UTC (rev 2783)
@@ -274,7 +274,7 @@
 
       nbSupport = new NotificationBroadcasterSupport();
 
-      viewExecutor = new QueuedExecutor();
+      viewExecutor = new QueuedExecutor(new LinkedQueue());
 
       this.jChannelFactory = JChannelFactory;
       

Modified: trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2007-06-14 12:16:17 UTC (rev 2782)
+++ trunk/tests/src/org/jboss/test/messaging/jms/message/ExpiredMessageTest.java	2007-06-15 07:56:43 UTC (rev 2783)
@@ -35,6 +35,8 @@
    // Attributes -----------------------------------------------------------------------------------
 
    private InitialContext ic;
+   private ConnectionFactory cf;
+   private Queue queue;
 
    // Constructors ---------------------------------------------------------------------------------
 
@@ -47,9 +49,6 @@
 
    public void testSimpleExpiration() throws Exception
    {
-      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);
@@ -70,8 +69,51 @@
       conn.start();
 
       assertNull(cons.receive(3000));
+      
+      conn.close();
    }
+   
+   public void testManyExpiredMessagesAtOnce() throws Exception
+   {
+      Connection conn = cf.createConnection();
+      
+      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+      
+      MessageProducer prod = session.createProducer(queue);
+      prod.setTimeToLive(1);
+      
+      Message m = session.createTextMessage("This message will die");
+      
+      final int MESSAGE_COUNT = 2000;
 
+      log.info("Going to send " + MESSAGE_COUNT + " messages");
+
+      for (int i = 0; i < MESSAGE_COUNT; i++)
+      {
+         prod.send(m);
+         if ((i + 1) % 1000 == 0)
+         {
+            log.info("Sent " + (i + 1) + " messages out of " + MESSAGE_COUNT);
+         }
+      }
+      
+      Thread.sleep(1000);
+      
+      log.info("Creating consumer");
+
+      MessageConsumer cons = session.createConsumer(queue);
+      conn.start();
+      
+      final int TIMEOUT = 3000;
+      log.info("Trying to receive a message, timeout is " + TIMEOUT + " ms");
+
+      assertNull(cons.receive(TIMEOUT));
+      
+      log.info("Done");
+      
+      conn.close();
+   }
+
   
 
    // Package protected ----------------------------------------------------------------------------
@@ -87,13 +129,21 @@
       ic = new InitialContext(ServerManagement.getJNDIEnvironment());
 
       ServerManagement.deployQueue("expiredMessageTestQueue");
+      ServerManagement.deployQueue("ExpiryQueue");
 
+      cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
+
+      queue = (Queue)ic.lookup("/queue/expiredMessageTestQueue");
+
       log.debug("setup done");
    }
 
    protected void tearDown() throws Exception
    {
       ServerManagement.undeployQueue("expiredMessageTestQueue");
+      ServerManagement.undeployQueue("ExpiryQueue");
+      
+      ic.close();
 
       ServerManagement.stop();
 




More information about the jboss-cvs-commits mailing list