[jboss-cvs] JBoss Messaging SVN: r2690 - in trunk: tests/src/org/jboss/test/messaging/jms/server/destination and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 15 13:57:26 EDT 2007


Author: timfox
Date: 2007-05-15 13:57:26 -0400 (Tue, 15 May 2007)
New Revision: 2690

Modified:
   trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
Log:
Fixed topic management test and added some logging in session endpoint


Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-05-15 17:00:23 UTC (rev 2689)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2007-05-15 17:57:26 UTC (rev 2690)
@@ -377,7 +377,9 @@
             
             channels.add(del.getObserver());
          }
-                              
+                 
+         if (trace) { log.trace("Cancelled deliveries"); }
+         
          // need to prompt delivery for all affected channels
          
          promptDelivery(channels);
@@ -941,6 +943,8 @@
    
    void promptDelivery(final Channel channel)
    {
+   	if (trace) { log.trace("Prompting delivery on " + channel); }
+   	
       try
       {
          //Prompting delivery must be asynchronous to avoid deadlock
@@ -996,6 +1000,7 @@
             del.getReference().setScheduledDeliveryTime(System.currentTimeMillis() + rec.redeliveryDelay);
          }
          
+         if (trace) { log.trace("Cancelling delivery " + cancel.getDeliveryId()); }
          del.cancel();
       }
       else
@@ -1512,6 +1517,8 @@
       //Now prompt delivery on the channels
       Iterator iter = channels.iterator();
       
+      if (trace) { log.trace("Prompting delivery"); }
+      
       while (iter.hasNext())
       {
          DeliveryObserver observer = (DeliveryObserver)iter.next();

Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java	2007-05-15 17:00:23 UTC (rev 2689)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java	2007-05-15 17:57:26 UTC (rev 2690)
@@ -236,15 +236,26 @@
          //Need to pause since delivery may still be in progress
          Thread.sleep(2000);
          
-         ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
+         //This should fail since you cannot remove messages if there are deliveries in progress
+         try
+         {
+         	ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
+         	fail();
+         }
+         catch (Exception e)
+         {
+         	//OK
+         }
    
          count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
          
-         assertEquals(0, count);
+         assertEquals(2, count);
                   
          // Now close the connection
          conn.close();
          
+         ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
+         
          Thread.sleep(1000);
          
          count = ((Integer)ServerManagement.getAttribute(destObjectName, "AllMessageCount")).intValue();
@@ -268,6 +279,10 @@
          // Start the connection for delivery
          conn.start();
          
+         conn.close();
+         
+         Thread.sleep(1000);
+         
          // Remove all messages from the topic
          ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
    




More information about the jboss-cvs-commits mailing list