[Jboss-cvs] JBoss Messaging SVN: r1246 - in branches/Branch_1_0: src/main/org/jboss/messaging/core tests/src/org/jboss/test/messaging/jms/server/destination

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 31 19:41:39 EDT 2006


Author: ovidiu.feodorov at jboss.com
Date: 2006-08-31 19:41:35 -0400 (Thu, 31 Aug 2006)
New Revision: 1246

Modified:
   branches/Branch_1_0/src/main/org/jboss/messaging/core/ChannelSupport.java
   branches/Branch_1_0/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
Log:
Fixed messageCount support. http://jira.jboss.org/jira/browse/JBMESSAGING-508

Modified: branches/Branch_1_0/src/main/org/jboss/messaging/core/ChannelSupport.java
===================================================================
--- branches/Branch_1_0/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-08-31 19:22:33 UTC (rev 1245)
+++ branches/Branch_1_0/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-08-31 23:41:35 UTC (rev 1246)
@@ -576,7 +576,7 @@
       {
          synchronized (deliveryLock)
          {
-            return messageRefs.size() + deliveries.size();
+            return messageRefs.size() + refsInStorage + deliveries.size();
          }
       }
    }

Modified: branches/Branch_1_0/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
===================================================================
--- branches/Branch_1_0/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java	2006-08-31 19:22:33 UTC (rev 1245)
+++ branches/Branch_1_0/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java	2006-08-31 23:41:35 UTC (rev 1246)
@@ -234,6 +234,7 @@
       Connection conn = null;
 
       int fullSize = 10;
+      int MESSAGE_COUNT = 100;
 
       ServerManagement.deployQueue("QueueMessageCount2", fullSize, fullSize / 2, fullSize / 2 - 1);
 
@@ -249,18 +250,38 @@
          MessageProducer prod = session.createProducer(queue);
          prod.setDeliveryMode(DeliveryMode.PERSISTENT);
 
-         // Send 20 message to the queue
+         // Send all messages to the queue and check messageCount after each send
 
-         for(int i = 0; i < 20; i++)
+         for(int i = 0; i < MESSAGE_COUNT; i++)
          {
             TextMessage m = session.createTextMessage("message" + i);
             prod.send(m);
+
+            int mc = ((Integer)ServerManagement.
+               getAttribute(destObjectName, "MessageCount")).intValue();
+
+            assertEquals(i + 1, mc);
          }
 
-         int mc =
-            ((Integer)ServerManagement.getAttribute(destObjectName, "MessageCount")).intValue();
+         // receive messages from queue one by one and check messageCount after each receive
 
-         assertEquals(20, mc);
+         MessageConsumer cons = session.createConsumer(queue);
+         conn.start();
+
+         int receivedCount = 0;
+
+         while((cons.receive(2000)) != null)
+         {
+            receivedCount++;
+
+            int mc = ((Integer)ServerManagement.
+               getAttribute(destObjectName, "MessageCount")).intValue();
+
+            assertEquals(MESSAGE_COUNT - receivedCount, mc);
+         }
+
+         assertEquals(MESSAGE_COUNT, receivedCount);
+
       }
       finally
       {




More information about the jboss-cvs-commits mailing list