[jboss-cvs] JBoss Messaging SVN: r1867 - in trunk: src/etc/server/default/deploy src/main/org/jboss/jms/client/container src/main/org/jboss/jms/server/endpoint src/main/org/jboss/jms/tx src/main/org/jboss/messaging/core src/main/org/jboss/messaging/core/local src/main/org/jboss/messaging/core/plugin src/main/org/jboss/messaging/core/plugin/postoffice/cluster src/main/org/jboss/messaging/core/tx tests tests/src/org/jboss/test/messaging/core tests/src/org/jboss/test/messaging/core/local/base tests/src/org/jboss/test/messaging/core/paging tests/src/org/jboss/test/messaging/core/plugin/postoffice tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster tests/src/org/jboss/test/messaging/jms/server/destination

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 28 15:58:25 EST 2006


Author: timfox
Date: 2006-12-28 15:58:01 -0500 (Thu, 28 Dec 2006)
New Revision: 1867

Modified:
   trunk/src/etc/server/default/deploy/hsqldb-persistence-service.xml
   trunk/src/main/org/jboss/jms/client/container/ValveAspect.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java
   trunk/src/main/org/jboss/jms/tx/ResourceManagerFactory.java
   trunk/src/main/org/jboss/messaging/core/Channel.java
   trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
   trunk/src/main/org/jboss/messaging/core/Delivery.java
   trunk/src/main/org/jboss/messaging/core/PagingChannelSupport.java
   trunk/src/main/org/jboss/messaging/core/SimpleDelivery.java
   trunk/src/main/org/jboss/messaging/core/local/FirstReceiverPointToPointRouter.java
   trunk/src/main/org/jboss/messaging/core/local/RoundRobinPointToPointRouter.java
   trunk/src/main/org/jboss/messaging/core/plugin/JDBCPersistenceManager.java
   trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/LocalClusteredQueue.java
   trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RemoteQueueStub.java
   trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
   trunk/tests/build.xml
   trunk/tests/src/org/jboss/test/messaging/core/SimpleChannel.java
   trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryObserver.java
   trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java
   trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java
   trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultMessagePullPolicyTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java
   trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
Log:
Removed deliveries set from channel and re-added jdbc deadlock retry logic



Modified: trunk/src/etc/server/default/deploy/hsqldb-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/hsqldb-persistence-service.xml	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/etc/server/default/deploy/hsqldb-persistence-service.xml	2006-12-28 20:58:01 UTC (rev 1867)
@@ -15,7 +15,7 @@
       <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
       <attribute name="DataSource">java:/DefaultDS</attribute>
       <attribute name="CreateTablesOnStartup">true</attribute>
-      <attribute name="UsingBatchUpdates">true</attribute>
+      <attribute name="UsingBatchUpdates">false</attribute>
       <attribute name="MaxParams">500</attribute>
    </mbean>
 

Modified: trunk/src/main/org/jboss/jms/client/container/ValveAspect.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/ValveAspect.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/jms/client/container/ValveAspect.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -134,7 +134,7 @@
          }
          catch (Throwable e)
          {
-            log.error("ValveAspect didn't catch the exception " + e + ", and it will be forwarded", e);
+            // just rethrow
             throw e;
          }
          finally

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -189,11 +189,6 @@
             return delivery;
          }
                  
-         if (delivery.isDone())
-         {
-            return delivery;
-         }
-         
          long deliveryId = sessionEndpoint.addDelivery(delivery, id);
    
          // We don't send the message as-is, instead we create a MessageProxy instance. This allows

Modified: trunk/src/main/org/jboss/jms/tx/ResourceManagerFactory.java
===================================================================
--- trunk/src/main/org/jboss/jms/tx/ResourceManagerFactory.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/jms/tx/ResourceManagerFactory.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -141,7 +141,7 @@
       }      
    }
    
-   private class Holder
+   private static class Holder
    {
       ResourceManager rm;
       

Modified: trunk/src/main/org/jboss/messaging/core/Channel.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/Channel.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/Channel.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -76,8 +76,7 @@
    public boolean acceptReliableMessages();
 
    /**
-    * @return a List containing messages being held by the channel. The list includes messages in
-    *         process of being delivered and messages for which delivery hasn't been attempted yet.
+    * @return a List containing messages being held by the channel. 
     */
    List browse();
 
@@ -85,8 +84,7 @@
     * @param filter - may be null, in which case no filter is applied.
     *
     * @return a List containing message references of messages whose state is maintained by this
-    *         State instance. The list includes references of messages in process of being delivered
-    *         and references of messages for which delivery has not been attempted yet.
+    *         State instance. 
     */
    List browse(Filter filter);
 
@@ -103,20 +101,6 @@
    void close();
 
    /**
-    * Get a list of message references of messages in the process of being delivered, subject to the filter
-    * @param filter
-    * @return the list
-    */
-   List delivering(Filter filter);
-
-   /**
-    * Get a list of message references of messages not in the process of being delivered, subject to the filter
-    * @param filter
-    * @return the list
-    */
-   List undelivered(Filter filter);   
-
-   /**
     * Clears non-recoverable state but not persisted state, so a recovery of the channel is possible
     * TODO really?
     */
@@ -126,8 +110,10 @@
     * Message amount. 
     * @return message amount.
     */
-   int messageCount();   
+   int messageCount(); 
    
+   int deliveringCount();
+   
    /**
     * Remove all the references in the channel
     * @throws Throwable
@@ -145,10 +131,7 @@
    boolean isActive();
    
    List recoverDeliveries(List messageIds);
-   
-   //This method will be defunct very soon when we remove the delivery list from inside the channel
-   void addDelivery(Delivery del);
-
+  
 }
 
 

Modified: trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/ChannelSupport.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -22,12 +22,9 @@
 package org.jboss.messaging.core;
 
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.Iterator;
-import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.ListIterator;
-import java.util.Set;
 
 import org.jboss.logging.Logger;
 import org.jboss.messaging.core.plugin.contract.MessageStore;
@@ -40,6 +37,7 @@
 import org.jboss.messaging.util.Future;
 
 import EDU.oswego.cs.dl.util.concurrent.QueuedExecutor;
+import EDU.oswego.cs.dl.util.concurrent.SynchronizedInt;
 
 /**
  * 
@@ -82,8 +80,6 @@
 
    protected PrioritizedDeque messageRefs;
 
-   protected Set deliveries;
-
    protected boolean acceptReliableMessages;
 
    protected boolean recoverable;
@@ -92,10 +88,15 @@
 
    protected Object refLock;
 
-   protected Object deliveryLock;
-
    protected boolean active = true;
    
+   //TODO - I would like to get rid of this - the only reason we still keep a count of
+   //refs being delivered is because many tests require this
+   //Having to keep this count requires synchronization between delivery thread and acknowledgement
+   //thread which will hamper concurrency
+   //Suggest that we have a glag that disables this for production systems
+   protected SynchronizedInt deliveringCount;
+   
    // Constructors --------------------------------------------------
 
    protected ChannelSupport(long channelID, MessageStore ms,
@@ -129,11 +130,9 @@
 
       messageRefs = new BasicPrioritizedDeque(10);
 
-      deliveries = new LinkedHashSet();
-
       refLock = new Object();
-
-      deliveryLock = new Object();
+      
+      deliveringCount = new SynchronizedInt(0);
    }
 
    // Receiver implementation ---------------------------------------
@@ -178,7 +177,7 @@
    {
       if (trace) { log.trace("acknowledging " + d + (tx == null ? " non-transactionally" : " transactionally in " + tx)); }
 
-      this.acknowledgeInternal(d, tx, true, false);
+      acknowledgeInternal(d, tx, true, false);
    }
 
 
@@ -263,33 +262,26 @@
    {
       if (trace) { log.trace(this + " browse" + (filter == null ? "" : ", filter = " + filter)); }
 
-      synchronized (deliveryLock)
+      synchronized (refLock)
       {
-         synchronized (refLock)
-         {
-            //FIXME - This is currently broken since it doesn't take into account
-            // refs paged into persistent storage
-            // Also is very inefficient since it makes a copy
-            // The way to implement this properly is to use the Prioritized deque iterator
-            // combined with an iterator over the refs in storage
+         //FIXME - This is currently broken since it doesn't take into account
+         // refs paged into persistent storage
+         // Also is very inefficient since it makes a copy
+         // The way to implement this properly is to use the Prioritized deque iterator
+         // combined with an iterator over the refs in storage
 
-            //TODO use the ref queue iterator
-            List references = delivering(filter);
+         //TODO use the ref queue iterator
+         List references = undelivered(filter);
 
-            List undel = undelivered(filter);
-
-            references.addAll(undel);
-
-            // dereference pass
-            ArrayList messages = new ArrayList(references.size());
-            for (Iterator i = references.iterator(); i.hasNext();)
-            {
-               MessageReference ref = (MessageReference) i.next();
-               messages.add(ref.getMessage());
-            }
-            return messages;
+         // dereference pass
+         ArrayList messages = new ArrayList(references.size());
+         for (Iterator i = references.iterator(); i.hasNext();)
+         {
+            MessageReference ref = (MessageReference) i.next();
+            messages.add(ref.getMessage());
          }
-      }
+         return messages;
+      }      
    }
 
    public void deliver(boolean synchronous)
@@ -334,7 +326,7 @@
 
    /*
     * This method clears the channel.
-    * Basically it acknowledges any outstanding deliveries and consumes the rest of the messages in the channel.
+    * Basically it consumes the rest of the messages in the channel.
     * We can't just delete the corresponding references directly from the database since
     * a) We might be paging
     * b) The message might remain in the message store causing a leak
@@ -345,68 +337,27 @@
       log.debug(this + " remnoving all references");
       
       synchronized (refLock)
-      {
-         synchronized (deliveryLock)
-         {
-            //Ack the deliveries
+      {            
+         //Now we consume the rest of the messages
+         //This may take a while if we have a lot of messages including perhaps millions
+         //paged in the database - but there's no obvious other way to do it.
+         //We cannot just delete them directly from the database - because we may end up with messages leaking
+         //in the message store,
+         //also we might get race conditions when other channels are updating the same message in the db
 
-            //Clone to avoid ConcurrentModificationException
-            Set dels = new HashSet(deliveries);
+         //Note - we don't do this in a tx - because the tx could be too big if we have millions of refs
+         //paged in storage
 
-            Iterator iter = dels.iterator();
-            while (iter.hasNext())
-            {
-               SimpleDelivery d = (SimpleDelivery) iter.next();
-
-               d.acknowledge(null);
-            }
-
-            //Now we consume the rest of the messages
-            //This may take a while if we have a lot of messages including perhaps millions
-            //paged in the database - but there's no obvious other way to do it.
-            //We cannot just delete them directly from the database - because we may end up with messages leaking
-            //in the message store,
-            //also we might get race conditions when other channels are updating the same message in the db
-
-            //Note - we don't do this in a tx - because the tx could be too big if we have millions of refs
-            //paged in storage
-
-            MessageReference ref;
-            while ((ref = removeFirstInMemory()) != null)
-            {
-               SimpleDelivery del = new SimpleDelivery(this, ref, false);
-
-               del.acknowledge(null);
-            }
-
-         }
-      }
-   }
-
-   public List delivering(Filter filter)
-   {
-      List delivering = new ArrayList();
-
-      synchronized (deliveryLock)
-      {
-         for (Iterator i = deliveries.iterator(); i.hasNext();)
+         MessageReference ref;
+         while ((ref = removeFirstInMemory()) != null)
          {
-            Delivery d = (Delivery) i.next();
+            SimpleDelivery del = new SimpleDelivery(this, ref);
 
-            MessageReference r = d.getReference();
-
-            // TODO: I need to dereference the message each time I apply the
-            // filter. Refactor so the message reference will also contain JMS
-            // properties
-            if (filter == null || filter.accept(r.getMessage()))
-            {
-               delivering.add(r);
-            }
-         }
+            del.acknowledge(null);
+         }         
+         
+         deliveringCount.set(0);
       }
-      if (trace) { log.trace(this + ": the non-recoverable state has " + delivering.size() + " messages being delivered"); }
-
-      return delivering;
    }
 
    public List undelivered(Filter filter)
@@ -446,21 +397,20 @@
    {
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
-         {
-            return messageRefs.size() + deliveries.size();
-         }
+         return messageRefs.size() + deliveringCount();     
       }
    }
+   
+   public int deliveringCount()
+   {
+      return deliveringCount.get();
+   }
 
    public void activate()
    {
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
-         {
-            active = true;
-         }
+         active = true;         
       }
    }
 
@@ -468,10 +418,7 @@
    {
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
-         {
-            active = false;
-         }
+         active = false;         
       }
    }
 
@@ -479,22 +426,10 @@
    {
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
-         {
-            return active;
-         }
+         return active;         
       }
    }
    
-   //This method will be defunct very soon when we remove the delivery list from inside the channel
-   public void addDelivery(Delivery del)
-   {
-      synchronized (deliveryLock)
-      {
-         deliveries.add(del);
-      }
-   }
-   
    public List recoverDeliveries(List messageIds)
    {
       //debug
@@ -504,41 +439,36 @@
       
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
+         ListIterator liter = messageRefs.iterator();
+                           
+         while (iter.hasNext())
          {
-            ListIterator liter = messageRefs.iterator();
-                              
-            while (iter.hasNext())
-            {
-               Long id = (Long)iter.next();
+            Long id = (Long)iter.next();
+            
+            //Scan the queue
+            while (true)
+            {               
+               if (!liter.hasNext())
+               {
+                  // TODO we need to look in paging state too - currently not supported
+                  
+                  throw new IllegalStateException("Cannot find ref in queue! (Might be paged!) " + id);
+               }
                
-               //Scan the queue
-               while (true)
-               {               
-                  if (!liter.hasNext())
-                  {
-                     // TODO we need to look in paging state too - currently not supported
-                     
-                     throw new IllegalStateException("Cannot find ref in queue! (Might be paged!) " + id);
-                  }
+               MessageReference ref = (MessageReference)liter.next();
+               
+               if (ref.getMessageID() == id.longValue())
+               {
+                  liter.remove();
                   
-                  MessageReference ref = (MessageReference)liter.next();
+                  Delivery del = new SimpleDelivery(this, ref);
                   
-                  if (ref.getMessageID() == id.longValue())
-                  {
-                     liter.remove();
-                     
-                     Delivery del = new SimpleDelivery(this, ref);
-                     
-                     dels.add(del);
-                                    
-                     this.deliveries.add(del);
-                     
-                     break;
-                  }
+                  dels.add(del);
+                                 
+                  break;
                }
-            }  
-         }
+            }
+         }           
       }
             
       return dels;
@@ -556,13 +486,6 @@
    }
 
    //Only used for testing
-   public int memoryDeliveryCount()
-   {
-      synchronized (deliveryLock)
-      {
-         return deliveries.size();
-      }
-   }
 
    public String toString()
    {
@@ -639,33 +562,9 @@
                      
                      // Receiver accepted the reference
                      
-                     // We must synchronize here to cope with a race condition where message
-                     // is cancelled/acked in flight while the following few actions are being
-                     // performed. e.g. delivery could be cancelled acked after being removed from
-                     // state but before delivery being added (observed).
-                     synchronized (del)
-                     {
-                        // FIXME - It's actually possible the delivery could be cancelled before it reaches
-                        // here, in which case we wouldn't get a delivery but we still need to increment the
-                        // delivery count. TODO http://jira.jboss.com/jira/browse/JBMESSAGING-355
-
-                        if (!del.isCancelled())
-                        {
-                           removeReference(iter);
-
-                           // delivered
-                           if (!del.isDone())
-                           {
-                              // Add the delivery to state
-                              synchronized (deliveryLock)
-                              {
-                                 deliveries.add(del);
-                                 
-                                 if (trace) { log.trace(this + " starting to track  " + del); }
-                              }
-                           }
-                        }
-                     }
+                     removeReference(iter);
+                     
+                     deliveringCount.increment();                     
                   }
                }
             }
@@ -794,18 +693,15 @@
                                       boolean synchronous) throws Exception
    {   
       if (tx == null)
-      {
-         synchronized (deliveryLock)
-         {
-            acknowledgeInMemory(d);
-         }
-            
+      {                  
          if (persist && recoverable && d.getReference().isReliable())
          {
             pm.removeReference(channelID, d.getReference(), null);
          }
               
-         d.getReference().releaseMemoryReference();             
+         d.getReference().releaseMemoryReference(); 
+         
+         deliveringCount.decrement();
       }
       else
       {
@@ -820,23 +716,6 @@
       }
    }
 
-   protected boolean acknowledgeInMemory(Delivery d)
-   {
-      if (d == null)
-      {
-         throw new IllegalArgumentException("Can't acknowledge a null delivery");
-      }
-
-      boolean removed = deliveries.remove(d);
-
-      // It's ok if the delivery couldn't be found - this might happen
-      // if the delivery is acked before the call to handle() has returned
-
-      if (trace) { log.trace(this + " removed " + d + " from memory:" + removed); }
-      
-      return removed;
-   }    
-   
    protected InMemoryCallback getCallback(Transaction tx, boolean synchronous)
    {
       InMemoryCallback callback = (InMemoryCallback) tx.getCallback(this);            
@@ -860,45 +739,26 @@
    }
 
       
-   protected boolean cancelInternal(Delivery del) throws Exception
+   protected void cancelInternal(Delivery del) throws Exception
    {
       if (trace) { log.trace(this + " cancelling " + del + " in memory"); }
 
-      boolean removed;
+      MessageReference ref = del.getReference();
       
-      synchronized (deliveryLock)
+      synchronized (refLock)
       {
-         removed = deliveries.remove(del);      
+         messageRefs.addFirst(ref, ref.getPriority());
       }
-
-      if (!removed)
-      {         
-         // This can happen if the message is cancelled before the result of
-         // ServerConsumerDelegate.handle has returned, in which case we won't have a record of the delivery
-         // In this case we don't want to add the message reference back into
-         // the state since it was never removed in the first place
-
-         if (trace) { log.trace(this + " can't find delivery " + del + " in state so not replacing messsage ref"); }
-      }
-      else
+      
+      //We may need to update the delivery count in the database
+      if (ref.isReliable())
       {
-         MessageReference ref = del.getReference();
-         
-         synchronized (refLock)
-         {
-            messageRefs.addFirst(ref, ref.getPriority());
-         }
-         
-         //We may need to update the delivery count in the database
-         if (ref.isReliable())
-         {
-            pm.updateDeliveryCount(this.channelID, ref);
-         }
-         
-         if (trace) { log.trace(this + " added " + ref + " back into state"); }
+         pm.updateDeliveryCount(this.channelID, ref);
       }
       
-      return removed;
+      deliveringCount.decrement();
+      
+      if (trace) { log.trace(this + " added " + ref + " back into state"); }
    }
    
    protected MessageReference removeFirstInMemory() throws Exception
@@ -1190,18 +1050,8 @@
             if (trace) { log.trace(this + " removing " + del + " after commit"); }
 
             del.getReference().releaseMemoryReference();
-
-            try
-            {
-               synchronized (deliveryLock)
-               {
-                  acknowledgeInMemory(del);
-               }
-            }
-            catch (Throwable t)
-            {
-               throw new TransactionException("Failed to ack message", t);
-            }
+            
+            deliveringCount.decrement();
          }
          
          //prompt delivery

Modified: trunk/src/main/org/jboss/messaging/core/Delivery.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/Delivery.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/Delivery.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -38,8 +38,6 @@
 
    boolean isDone();
    
-   boolean isCancelled();
-
    void setObserver(DeliveryObserver observer);
 
    DeliveryObserver getObserver();

Modified: trunk/src/main/org/jboss/messaging/core/PagingChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/PagingChannelSupport.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/PagingChannelSupport.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -22,7 +22,6 @@
 package org.jboss.messaging.core;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -203,20 +202,17 @@
    public void setPagingParams(int fullSize, int pageSize, int downCacheSize)
    {
       synchronized (refLock)
-      {
-         synchronized (deliveryLock)
-         {      
-            if (active)
-            {
-               throw new IllegalStateException("Cannot set paging params when active");
-            }
-            
-            this.fullSize = fullSize;
-            
-            this.pageSize = pageSize;
-            
-            this.downCacheSize = downCacheSize;
+      { 
+         if (active)
+         {
+            throw new IllegalStateException("Cannot set paging params when active");
          }
+         
+         this.fullSize = fullSize;
+         
+         this.pageSize = pageSize;
+         
+         this.downCacheSize = downCacheSize;         
       }
    }
    
@@ -270,23 +266,18 @@
    {
       synchronized (refLock)
       {
-         synchronized (deliveryLock)
+         if (active)
          {
-            if (active)
-            {
-               throw new IllegalStateException("Cannot unload channel when active");
-            }
-            
-            messageRefs.clear();
-            
-            deliveries.clear();
-            
-            downCache.clear();
-            
-            paging = false;
-            
-            firstPagingOrder = nextPagingOrder = 0;
+            throw new IllegalStateException("Cannot unload channel when active");
          }
+         
+         messageRefs.clear();
+         
+         downCache.clear();
+         
+         paging = false;
+         
+         firstPagingOrder = nextPagingOrder = 0;         
       }
    }
    
@@ -367,15 +358,15 @@
       }    
    }
       
-   protected boolean cancelInternal(Delivery del) throws Exception
+   protected void cancelInternal(Delivery del) throws Exception
    {
       if (trace) { log.trace(this + " cancelling " + del + " in memory"); }
 
       synchronized (refLock)
       {         
-         boolean removed = super.cancelInternal(del);
+         super.cancelInternal(del);
          
-         if (removed && paging)
+         if (paging)
          {
             // if paging and the in memory queue is exactly full we need to evict the end reference to storage to
             // preserve the number of refs in the queue
@@ -388,8 +379,6 @@
          }
                
          if (trace) { log.trace(this + " added " + del.getReference() + " back into state"); }      
-         
-         return removed;
       }
    }
       

Modified: trunk/src/main/org/jboss/messaging/core/SimpleDelivery.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/SimpleDelivery.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/SimpleDelivery.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -43,8 +43,7 @@
    
    // Attributes ----------------------------------------------------
 
-   protected boolean done;
-   protected boolean cancelled;
+   protected volatile boolean done;
    protected boolean selectorAccepted;
    protected DeliveryObserver observer;
    protected MessageReference reference;
@@ -98,16 +97,11 @@
       return reference;
    }
 
-   public synchronized boolean isDone()
+   public boolean isDone()
    {
       return done;
    }
    
-   public synchronized boolean isCancelled()
-   {
-      return cancelled;
-   }
-
    public boolean isSelectorAccepted()
    {
       return selectorAccepted;
@@ -123,30 +117,22 @@
       return observer;
    }
 
-   public synchronized void acknowledge(Transaction tx) throws Throwable
+   public void acknowledge(Transaction tx) throws Throwable
    {        
       if (trace) { log.trace(this + " acknowledging delivery in tx:" + tx); }
       
-      // deals with the race condition when acknowledgment arrives before the delivery
-      // is returned back to the sending delivery observer      
       observer.acknowledge(this, tx);
 
-      //Important note! We must ALWAYS set done true irrespective of whether we are in a tx or not.
-      //Previously we were only setting done to true if there was no transaction.
-      //This meant that if the acknowledgement (in the tx) came in before the call to handle()
-      //had returned the delivery would end up in the delivery set in the channel and never
-      //get removed - causing a leak
       done = true;      
    }
 
-   public synchronized void cancel() throws Throwable
+   public void cancel() throws Throwable
    {
       if (trace) { log.trace(this + " cancelling delivery"); }
-      
-      // deals with the race condition when cancellation arrives before the delivery
-      // is returned back to the sending delivery observer      
+         
       observer.cancel(this);
-      cancelled = true;      
+      
+      done = true;
    }
    
    // Public --------------------------------------------------------
@@ -154,7 +140,7 @@
    public String toString()
    {
       return "Delivery" + (reference == null ? "" : "[" + reference + "]") +
-         "(" + (cancelled ? "cancelled" : done ? "done" : "active") + ")";
+         "(" + ( done ? "done" : "active") + ")";
    }
 
    // Package protected ---------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/core/local/FirstReceiverPointToPointRouter.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/local/FirstReceiverPointToPointRouter.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/local/FirstReceiverPointToPointRouter.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -100,7 +100,7 @@
 
             if (trace) { log.trace("receiver " + receiver + " handled " + ref + " and returned " + d); }
 
-            if (d != null && !d.isCancelled())
+            if (d != null)
             {
                if (d.isSelectorAccepted())
                {

Modified: trunk/src/main/org/jboss/messaging/core/local/RoundRobinPointToPointRouter.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/local/RoundRobinPointToPointRouter.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/local/RoundRobinPointToPointRouter.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -109,7 +109,7 @@
 
             if (trace) { log.trace("receiver " + r + " handled " + ref + " and returned " + d); }
 
-            if (d != null && !d.isCancelled())
+            if (d != null)
             {
                if (d.isSelectorAccepted())
                {

Modified: trunk/src/main/org/jboss/messaging/core/plugin/JDBCPersistenceManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/JDBCPersistenceManager.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/plugin/JDBCPersistenceManager.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -261,10 +261,7 @@
       }
    }
    
-   
-   
-   
-      
+               
    // Related to counters
    // ===================
    
@@ -295,6 +292,7 @@
          ps.setString(1, counterName);
          
          rs = ps.executeQuery();
+         
          if (trace) { log.trace(JDBCUtil.statementToString(selectCounterSQL, counterName)); }         
          
          if (!rs.next())
@@ -311,7 +309,7 @@
             ps.setString(1, counterName);
             ps.setLong(2, size);
             
-            int rows = ps.executeUpdate();
+            int rows = updateWithRetry(ps);
             if (trace) { log.trace(JDBCUtil.statementToString(insertCounterSQL, counterName, new Integer(size)) + " inserted " + rows + " rows"); }
             
             ps.close();            
@@ -333,7 +331,7 @@
          ps.setLong(1, nextId + size);
          ps.setString(2, counterName);
          
-         int rows = ps.executeUpdate();
+         int rows = updateWithRetry(ps);
          if (trace) { log.trace(JDBCUtil.statementToString(updateCounterSQL, new Long(nextId + size), counterName) + " updated " + rows + " rows"); }
          
          return nextId;
@@ -627,7 +625,7 @@
             }
             else
             {
-               int rows = psInsertReference.executeUpdate();
+               int rows = updateWithRetry(psInsertReference);
                
                if (trace)
                {
@@ -709,7 +707,7 @@
             {
                if (added)
                {
-                  int rows = psInsertMessage.executeUpdate();
+                  int rows = updateWithRetry(psInsertMessage);
                                       
                   if (trace)
                   {
@@ -718,7 +716,7 @@
                }
                else
                {               
-                  int rows = psUpdateMessage.executeUpdate();
+                  int rows = updateWithRetry(psUpdateMessage);
                   
                   if (trace)
                   {
@@ -734,19 +732,19 @@
          
          if (usingBatchUpdates)
          {
-            int[] rowsReference = psInsertReference.executeBatch();
+            int[] rowsReference = updateWithRetryBatch(psInsertReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
             
             if (messageInsertsInBatch)
             {
-               int[] rowsMessage = psInsertMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
                
                if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
             }
             if (messageUpdatesInBatch)
             {
-               int[] rowsMessage = psUpdateMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psUpdateMessage);
                
                if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNELCOUNT"), rowsMessage, "updated"); }
             }
@@ -864,7 +862,7 @@
             }
             else
             {
-               int rows = psDeleteReference.executeUpdate();
+               int rows = updateWithRetry(psDeleteReference);
                
                if (trace) { log.trace("Deleted " + rows + " rows"); }
                
@@ -897,11 +895,11 @@
             }
             else
             {  
-               int rows = psUpdateMessage.executeUpdate();
+               int rows = updateWithRetry(psUpdateMessage);
                                                  
                if (trace) { log.trace("Updated " + rows + " rows"); }
                
-               rows = psDeleteMessage.executeUpdate();
+               rows = updateWithRetry(psDeleteMessage);
         
                if (trace) { log.trace("Deleted " + rows + " rows"); }
             
@@ -915,15 +913,15 @@
          
          if (usingBatchUpdates)
          {
-            int[] rowsReference = psDeleteReference.executeBatch();
+            int[] rowsReference = updateWithRetryBatch(psDeleteReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE_REF"), rowsReference, "deleted"); }
             
-            rowsReference = psUpdateMessage.executeBatch();
+            rowsReference = updateWithRetryBatch(psUpdateMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNELCOUNT"), rowsReference, "updated"); }
             
-            rowsReference = psDeleteMessage.executeBatch();
+            rowsReference = updateWithRetryBatch(psDeleteMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rowsReference, "deleted"); }
                                     
@@ -1022,7 +1020,7 @@
          {
             try
             {
-               int rows = ps.executeUpdate();
+               int rows = updateWithRetry(ps);
                  
                if (trace) { log.trace(JDBCUtil.statementToString(getSQLStatement("UPDATE_RELIABLE_REFS_NOT_PAGED"), new Long(channelID),
                                       new Long(orderStart), new Long(orderEnd)) + " updated " + rows + " rows"); }
@@ -1130,7 +1128,7 @@
             }
             else
             {
-               int rows = psUpdateReference.executeUpdate();
+               int rows = updateWithRetry(psUpdateReference);
                
                if (trace) { log.trace("Updated " + rows + " rows"); }
                
@@ -1141,7 +1139,7 @@
                      
          if (usingBatchUpdates)
          {
-            int[] rowsReference = psUpdateReference.executeBatch();
+            int[] rowsReference = updateWithRetryBatch(psUpdateReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("UPDATE_PAGE_ORDER"), rowsReference, "updated"); }
                         
@@ -1435,7 +1433,7 @@
             // Add the reference
             addReference(channelID, ref, psReference, false);
             
-            int rows = psReference.executeUpdate();            
+            int rows = updateWithRetry(psReference);      
             
             if (trace) { log.trace("Inserted " + rows + " rows"); }
               
@@ -1456,7 +1454,7 @@
                incrementChannelCount(m, psMessage);
             }
                            
-            rows = psMessage.executeUpdate();
+            rows = updateWithRetry(psMessage);
             
             if (trace) { log.trace("Inserted/updated " + rows + " rows"); }     
             
@@ -1530,7 +1528,7 @@
          
          psReference.setLong(3, ref.getMessageID());
          
-         int rows = psReference.executeUpdate();
+         int rows = updateWithRetry(psReference);
 
          if (trace) { log.trace("Updated " + rows + " rows"); }
       }
@@ -1599,7 +1597,7 @@
             //Remove the message reference
             removeReference(channelID, ref, psReference);
             
-            int rows = psReference.executeUpdate();
+            int rows = updateWithRetry(psReference);
             
             if (rows != 1)
             {
@@ -1614,7 +1612,7 @@
             
             decrementChannelCount(m, psUpdate);
             
-            rows = psUpdate.executeUpdate();
+            rows = updateWithRetry(psUpdate);
             
             if (trace) { log.trace("Updated " + rows + " rows"); } 
             
@@ -1624,7 +1622,7 @@
             
             removeMessage(m, psMessage);
                        
-            rows = psMessage.executeUpdate();
+            rows = updateWithRetry(psMessage);
             
             if (trace) { log.trace("Delete " + rows + " rows"); }                           
          }
@@ -1864,7 +1862,7 @@
             }
             else
             {
-               int rows = psReference.executeUpdate();
+               int rows = updateWithRetry(psReference);
                
                if (trace) { log.trace("Inserted " + rows + " rows"); }                              
                
@@ -1912,12 +1910,12 @@
             {
                if (added)
                {
-                  int rows = psInsertMessage.executeUpdate();
+                  int rows = updateWithRetry(psInsertMessage);
                   if (trace) { log.trace("Inserted " + rows + " rows"); }
                }
                else
                {
-                  int rows = psIncMessage.executeUpdate();
+                  int rows = updateWithRetry(psIncMessage);
                   if (trace) { log.trace("Updated " + rows + " rows"); }
                }
                psInsertMessage.close();
@@ -1931,21 +1929,19 @@
          {
             // Process the add batch
 
-
-
-            int[] rowsReference = psReference.executeBatch();
+            int[] rowsReference = updateWithRetryBatch(psReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
             
             if (messageInsertsInBatch)
             {
-               int[] rowsMessage = psInsertMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
                if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
             }
 
             if (messageUpdatesInBatch)
             {
-               int[] rowsMessage = psIncMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psIncMessage);
                if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNELCOUNT"), rowsMessage, "updated"); }
             }
             
@@ -1988,7 +1984,7 @@
             }
             else
             {
-               int rows = psReference.executeUpdate();
+               int rows = updateWithRetry(psReference);
                if (trace) { log.trace("Deleted " + rows + " rows"); }
                psReference.close();
                psReference = null;
@@ -2017,10 +2013,10 @@
             }
             else
             {
-               int rows = psDecMessage.executeUpdate();
+               int rows = updateWithRetry(psDecMessage);
                if (trace) { log.trace("Updated " + rows + " rows"); }
                
-               rows = psDeleteMessage.executeUpdate();
+               rows = updateWithRetry(psDeleteMessage);
                if (trace) { log.trace("Deleted " + rows + " rows"); }
 
                psDeleteMessage.close();
@@ -2034,15 +2030,15 @@
          {
             // Process the remove batch
 
-            int[] rows = psReference.executeBatch();
+            int[] rows = updateWithRetryBatch(psReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE_REF"), rows, "deleted"); }
             
-            rows = psDecMessage.executeBatch();
+            rows = updateWithRetryBatch(psDecMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNELCOUNT"), rows, "updated"); }
 
-            rows = psDeleteMessage.executeBatch();
+            rows = updateWithRetryBatch(psDeleteMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
 
@@ -2208,11 +2204,11 @@
             }
             else
             {
-               int rows = psUpdateMessage.executeUpdate();
+               int rows = updateWithRetry(psUpdateMessage);
                
                if (trace) { log.trace("Updated " + rows + " rows"); }
                
-               rows = psDeleteMessage.executeUpdate();
+               rows = updateWithRetry(psDeleteMessage);
                
                if (trace) { log.trace("Deleted " + rows + " rows"); }
                
@@ -2225,14 +2221,14 @@
          
          if (batch)
          {
-            int[] rows = psUpdateMessage.executeBatch();
+            int[] rows = updateWithRetryBatch(psUpdateMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNELCOUNT"), rows, "updated"); }
             
             psUpdateMessage.close();
             psUpdateMessage = null;
             
-            rows = psDeleteMessage.executeBatch();
+            rows = updateWithRetryBatch(psDeleteMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
             
@@ -2356,7 +2352,7 @@
             }
             else
             {
-               int rows = psReference.executeUpdate();
+               int rows = updateWithRetry(psReference);
                
                if (trace) { log.trace("Inserted " + rows + " rows"); }
                
@@ -2408,13 +2404,13 @@
             {
                if (added)
                {
-                  int rows = psInsertMessage.executeUpdate();
+                  int rows = updateWithRetry(psInsertMessage);
                   
                   if (trace) { log.trace("Inserted " + rows + " rows"); }
                }
                else
                {
-                  int rows = psUpdateMessage.executeUpdate();
+                  int rows = updateWithRetry(psUpdateMessage);
                   
                   if (trace) { log.trace("Updated " + rows + " rows"); }
                }
@@ -2427,19 +2423,19 @@
          
          if (batch)
          {
-            int[] rowsReference = psReference.executeBatch();
+            int[] rowsReference = updateWithRetryBatch(psReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
             
             if (messageInsertsInBatch)
             {
-               int[] rowsMessage = psInsertMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
                
                if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
             }
             if (messageUpdatesInBatch)
             {
-               int[] rowsMessage = psUpdateMessage.executeBatch();
+               int[] rowsMessage = updateWithRetryBatch(psUpdateMessage);
                
                if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNELCOUNT"), rowsMessage, "updated"); }
             }
@@ -2479,7 +2475,7 @@
             }
             else
             {
-               int rows = psReference.executeUpdate();
+               int rows = updateWithRetry(psReference);
                
                if (trace) { log.trace("updated " + rows + " rows"); }
                
@@ -2490,7 +2486,7 @@
          
          if (batch)
          {
-            int[] rows = psReference.executeBatch();
+            int[] rows = updateWithRetryBatch(psReference);
             
             if (trace) { logBatchUpdate(getSQLStatement("UPDATE_MESSAGE_REF"), rows, "updated"); }
             
@@ -2628,11 +2624,11 @@
             }
             else
             {
-               int rows = psUpdateMessage.executeUpdate();
+               int rows = updateWithRetry(psUpdateMessage);
                
                if (trace) { log.trace("updated " + rows + " rows"); }
                
-               rows = psDeleteMessage.executeUpdate();
+               rows = updateWithRetry(psDeleteMessage);
                
                if (trace) { log.trace("deleted " + rows + " rows"); }
                
@@ -2645,11 +2641,11 @@
          
          if (batch)
          {
-            int[] rows = psUpdateMessage.executeBatch();
+            int[] rows = updateWithRetryBatch(psUpdateMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNELCOUNT"), rows, "updated"); }
             
-            rows = psDeleteMessage.executeBatch();
+            rows = updateWithRetryBatch(psDeleteMessage);
             
             if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
             
@@ -2735,7 +2731,7 @@
          ps.setInt(3, formatID);
          ps.setBytes(4, xid.getGlobalTransactionId());
          
-         rows = ps.executeUpdate();
+         rows = updateWithRetry(ps);
          
       }
       finally
@@ -2760,7 +2756,7 @@
       }
    }
    
-   protected void removeTXRecord(Connection conn, Transaction tx) throws SQLException
+   protected void removeTXRecord(Connection conn, Transaction tx) throws Exception
    {
       PreparedStatement ps = null;
       try
@@ -2769,7 +2765,7 @@
          
          ps.setLong(1, tx.getId());
          
-         int rows = ps.executeUpdate();
+         int rows = updateWithRetry(ps);
          
          if (trace)
          {
@@ -2864,7 +2860,7 @@
          
          ps.setLong(1, tx.getId());        
          
-         int rows = ps.executeUpdate();
+         int rows = updateWithRetry(ps);
          
          if (trace)
          {
@@ -2875,7 +2871,7 @@
          ps = conn.prepareStatement(getSQLStatement("COMMIT_MESSAGE_REF2"));
          ps.setLong(1, tx.getId());         
          
-         rows = ps.executeUpdate();
+         rows = updateWithRetry(ps);
          
          if (trace)
          {
@@ -2910,7 +2906,7 @@
          
          ps.setLong(1, tx.getId());         
          
-         int rows = ps.executeUpdate();
+         int rows = updateWithRetry(ps);
          
          if (trace)
          {
@@ -2922,7 +2918,7 @@
          ps = conn.prepareStatement(getSQLStatement("ROLLBACK_MESSAGE_REF2"));
          ps.setLong(1, tx.getId());
          
-         rows = ps.executeUpdate();
+         rows = updateWithRetry(ps);
          
          if (trace)
          {
@@ -3240,6 +3236,16 @@
       log.trace("Batch update " + name + ", " + action + " total of " + count + " rows");
    }
    
+   protected int updateWithRetry(PreparedStatement ps) throws Exception
+   {
+      return updateWithRetry(ps, false)[0];
+   }
+   
+   protected int[] updateWithRetryBatch(PreparedStatement ps) throws Exception
+   {
+      return updateWithRetry(ps, true);
+   }
+   
    //PersistentServiceSupport overrides ----------------------------
    
    protected Map getDefaultDDLStatements()
@@ -3336,6 +3342,60 @@
    
    // Private -------------------------------------------------------
    
+   private int[] updateWithRetry(PreparedStatement ps, boolean batch) throws Exception
+   {
+      final int MAX_TRIES = 25;      
+      
+      int rows = 0;
+      
+      int[] rowsArr = null;
+      
+      int tries = 0;
+      
+      while (true)
+      {
+         try
+         {
+            if (batch)
+            {
+               rowsArr = ps.executeBatch();
+            }
+            else
+            {
+               rows = ps.executeUpdate();
+            }
+            
+            if (tries > 0)
+            {
+               log.warn("Update worked after retry");
+            }
+            break;
+         }
+         catch (SQLException e)
+         {
+            log.warn("SQLException caught - assuming deadlock detected, try:" + (tries + 1), e);
+            tries++;
+            if (tries == MAX_TRIES)
+            {
+               log.error("Retried " + tries + " times, now giving up");
+               throw new IllegalStateException("Failed to update references");
+            }
+            log.warn("Trying again after a pause");
+            //Now we wait for a random amount of time to minimise risk of deadlock
+            Thread.sleep((long)(Math.random() * 500));
+         }  
+      }
+      
+      if (batch)
+      {
+         return rowsArr;
+      }
+      else
+      {
+         return new int[] { rows };
+      }
+   }
+   
    private List getMessageChannelPair(String sqlQuery, long transactionId) throws Exception
    {
       if (trace) log.trace("loading message and channel ids for tx [" + transactionId + "]");

Modified: trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/LocalClusteredQueue.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/LocalClusteredQueue.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/LocalClusteredQueue.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -364,17 +364,14 @@
                
                synchronized (refLock)
                {
-                  synchronized (deliveryLock)
+                  ref = removeFirstInMemory();
+                  
+                  if (ref != null)
                   {
-                     ref = removeFirstInMemory();
+                     del = new SimpleDelivery(LocalClusteredQueue.this, ref);
                      
-                     if (ref != null)
-                     {
-                        del = new SimpleDelivery(LocalClusteredQueue.this, ref);
-                        
-                        deliveries.add(del);
-                     }                      
-                  }
+                     deliveringCount.increment();
+                  }                                        
                }                    
             }
             

Modified: trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RemoteQueueStub.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RemoteQueueStub.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/plugin/postoffice/cluster/RemoteQueueStub.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -109,7 +109,7 @@
       }
 
       if (trace) { log.trace(this + " accepting " + reference + " for delivery"); }
-      return new SimpleDelivery(this, reference, false);
+      return new SimpleDelivery(this, reference);
    }
 
    // Distributor implementation ------------------------------------
@@ -288,7 +288,7 @@
       return "RemoteQueueStub[" + channelID + "/" + name + " -> " + nodeID + "]";
    }
 
-   public void addDelivery(Delivery del)
+   public int deliveringCount()
    {
       throw new UnsupportedOperationException();
    }

Modified: trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -371,12 +371,6 @@
 
             try
             {
-               //At this point there won't be a delivery in the channel for this ref - since
-               //we won't have loaded it when the queue was loaded (since the stat column would have been '-')
-               //so we add it
-               
-               queue.addDelivery(del);
-               
                del.acknowledge(tx);
             }
             catch (Throwable t)

Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/build.xml	2006-12-28 20:58:01 UTC (rev 1867)
@@ -364,7 +364,7 @@
 
    <target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
       <antcall target="invm-stress-tests"/>
-      <antcall target="remote-stress-tests"/>  <!-- default remoting configuration (socket) -->
+      <antcall target="remote-stress-tests"/> <!-- default remoting configuration (socket) -->
       <antcall target="remote-stress-tests">
          <param name="test.remoting" value="http"/>
       </antcall>

Modified: trunk/tests/src/org/jboss/test/messaging/core/SimpleChannel.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/SimpleChannel.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/SimpleChannel.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -226,6 +226,11 @@
       throw new UnsupportedOperationException();
    }
 
+   public int deliveringCount()
+   {
+      throw new UnsupportedOperationException();
+   }
+
    // Package protected ---------------------------------------------
    
    // Protected -----------------------------------------------------

Modified: trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryObserver.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryObserver.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryObserver.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -69,56 +69,6 @@
 
    // Public --------------------------------------------------------
 
-   public synchronized void waitForCancellation(Delivery delivery) throws Exception
-   {
-      waitForCancellation(delivery, 0);
-   }
-
-   /**
-    * Waits until the delivery is cancelled, or timeout expires. If the delivery is already
-    * cancelled, exits immediately.
-    */
-   public synchronized boolean waitForCancellation(Delivery delivery, long timeout) throws Exception
-   {
-      try
-      {
-         if (delivery.isCancelled())
-         {
-            return true;
-         }
-
-         if (toBeCancelled != null)
-         {
-            throw new IllegalStateException("already waiting for another delivery cancellation");
-         }
-
-         toBeCancelled = delivery;
-
-         if (timeout <= 0)
-         {
-            this.wait();
-         }
-         else
-         {
-            this.wait(timeout);
-         }
-
-         if (toBeCancelled == null)
-         {
-            return true;
-         }
-         else
-         {
-            log.warn("exiting on timeout");
-            return false;
-         }
-      }
-      finally
-      {
-         toBeCancelled = null;
-      }
-   }
-
    public synchronized boolean waitForAcknowledgment(Delivery delivery) throws Exception
    {
       return waitForAcknowledgment(delivery, 0);

Modified: trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/SimpleDeliveryTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -89,15 +89,6 @@
       assertTrue(delivery.isDone());
    }
    
-   public void testCancellation() throws Throwable
-   {
-      assertFalse(delivery.isCancelled());
-
-      delivery.cancel();
-
-      assertTrue(delivery.isCancelled());
-   }
-   
    public void testDoneIsSetWithTransaction() throws Throwable
    {
       //Calling acknowledge on a SimpleDelivery

Modified: trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/local/base/PagingFilteredQueueTestBase.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -2306,11 +2306,10 @@
       Delivery delivery = queue.handle(observer, ref, null);
 
       assertTrue(delivery.isDone());
+   
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
-
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
       Message ackm = (Message)acknowledging.get(0);
@@ -2389,9 +2388,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -2403,13 +2401,15 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       tx.commit();
 
       assertTrue(queue.browse().isEmpty());
+      
+      deliveringCount = queue.deliveringCount();
+      assertEquals(0, deliveringCount);
    }
 
 
@@ -2437,9 +2437,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -2451,15 +2450,13 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       tx.rollback();
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       // acknowledge non-transactionally
       r.acknowledge(ackm, null);
@@ -2501,7 +2498,6 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -2544,7 +2540,6 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -2556,8 +2551,6 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
-
       tx.commit();
 
       assertTrue(queue.browse().isEmpty());
@@ -2593,7 +2586,6 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -2605,12 +2597,8 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
-
       tx.rollback();
 
-      assertEqualSets(refs, queue.browse());
-
       // acknowledge non-transactionally
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
       {
@@ -2699,11 +2687,8 @@
 
       assertTrue(delivery.isDone());
 
-      List stored = queue.browse();
-      assertEquals(1, stored.size());
-      Message sm = (Message)stored.iterator().next();
-      assertTrue(sm.isReliable());
-      assertEquals(0, sm.getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List received = r.getMessages();
       assertEquals(1, received.size());
@@ -2759,11 +2744,8 @@
 
       assertTrue(delivery.isDone());
 
-      List stored = queue.browse();
-      assertEquals(1, stored.size());
-      Message sm = (Message)stored.iterator().next();
-      assertTrue(sm.isReliable());
-      assertEquals(0, sm.getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List received = r.getMessages();
       assertEquals(1, received.size());
@@ -2775,11 +2757,8 @@
 
       r.acknowledge(rm, tx);
 
-      stored = queue.browse();
-      assertEquals(1, stored.size());
-      sm = (Message)stored.iterator().next();
-      assertTrue(sm.isReliable());
-      assertEquals(0, sm.getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       tx.commit();
 
@@ -2869,7 +2848,6 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -2928,7 +2906,6 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -2939,8 +2916,6 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
-
       tx.commit();
 
       assertTrue(queue.browse().isEmpty());
@@ -2987,9 +2962,8 @@
 
       tx.commit();
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -3040,7 +3014,6 @@
 
       tx.commit();
 
-      assertEqualSets(refs, queue.browse());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -3156,11 +3129,8 @@
 
       tx.commit();
 
-      List stored = queue.browse();
-      assertEquals(1, stored.size());
-      Message sm = (Message)stored.iterator().next();
-      assertTrue(sm.isReliable());
-      assertEquals(0, sm.getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);      
 
       List received = r.getMessages();
       assertEquals(1, received.size());
@@ -3337,7 +3307,9 @@
 
       tx.commit();
 
-      assertEqualSets(refs, queue.browse());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(NUMBER_OF_MESSAGES, deliveringCount);
+      
       assertEqualSets(refs, r.getMessages());
    }
 
@@ -3386,7 +3358,8 @@
 
       tx.commit();
 
-      assertEqualSets(refs, queue.browse());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(NUMBER_OF_MESSAGES, deliveringCount);
       assertEqualSets(refs, r.getMessages());
    }
 
@@ -4882,9 +4855,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -4964,9 +4936,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -4978,9 +4949,8 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       tx.commit();
 
@@ -5012,9 +4982,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5026,15 +4995,13 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       tx.rollback();
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       // acknowledge non-transactionally
       r.acknowledge(ackm, null);
@@ -5076,7 +5043,7 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5119,7 +5086,7 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -5131,7 +5098,7 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       tx.commit();
 
@@ -5168,7 +5135,7 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -5180,11 +5147,11 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       tx.rollback();
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       // acknowledge non-transactionally
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5230,9 +5197,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5366,9 +5332,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5380,9 +5345,8 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       tx.commit();
 
@@ -5415,9 +5379,8 @@
 
       assertTrue(delivery.isDone());
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5429,15 +5392,13 @@
       // transacted acknowledgment
       r.acknowledge(ackm, tx);
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       tx.rollback();
 
-      delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      deliveringCount = queue.deliveringCount();      
+      assertEquals(1, deliveringCount);
 
       // acknowledge non-transactionally
       r.acknowledge(ackm, null);
@@ -5480,7 +5441,8 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
+      
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5523,7 +5485,7 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -5535,7 +5497,7 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       tx.commit();
 
@@ -5572,7 +5534,7 @@
          assertTrue(delivery.isDone());
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       Transaction tx = tr.createTransaction();
@@ -5584,11 +5546,11 @@
          r.acknowledge(ackm, tx);
       }
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       tx.rollback();
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
 
       // acknowledge non-transactionally
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5644,9 +5606,8 @@
 
       tx.commit();
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5698,7 +5659,7 @@
 
       tx.commit();
 
-      assertEqualSets(refs, queue.browse());
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5750,9 +5711,8 @@
 
       tx.commit();
 
-      List delivering = queue.browse();
-      assertEquals(1, delivering.size());
-      assertEquals(0, ((Message)delivering.get(0)).getMessageID());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List acknowledging = r.getMessages();
       assertEquals(1, acknowledging.size());
@@ -5802,8 +5762,9 @@
       assertTrue(r.getMessages().isEmpty());
 
       tx.commit();
-
-      assertEqualSets(refs, queue.browse());
+      
+      
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -5855,8 +5816,8 @@
       assertTrue(r.getMessages().isEmpty());
 
       tx.commit();
-
-      assertEqualSets(refs, queue.browse());
+      
+      assertEquals(NUMBER_OF_MESSAGES, queue.deliveringCount());
       assertEqualSets(refs, r.getMessages());
 
       for(Iterator i = r.getMessages().iterator(); i.hasNext();)
@@ -6232,7 +6193,8 @@
       // receiver explicitely asks for message
       receiver.requestMessages();
 
-      assertEquals(1, queue.browse().size());
+      int deliveringCount = queue.deliveringCount();
+      assertEquals(1, deliveringCount);
 
       List messages = receiver.getMessages();
       assertEquals(1, messages.size());
@@ -6368,7 +6330,7 @@
       // receiver explicitely asks for message
       receiver.requestMessages();
 
-      assertEquals(1, queue.browse().size());
+      assertEquals(1, queue.deliveringCount());
 
       List messages = receiver.getMessages();
       assertEquals(1, messages.size());

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -76,7 +76,7 @@
       MessageReference[] refs2 = new MessageReference[150];
       
       //Send 50 refs to both channels
-  
+      
       Transaction tx = this.createXATx();
       for (int i = 0; i < 50; i++)
       {
@@ -94,7 +94,7 @@
       }
       tx.prepare();
       tx.commit();
-      
+        
       //Queue1
       List refIds = getReferenceIdsOrderedByPageOrd(queue1.getChannelID());
       assertEquals(0, refIds.size());
@@ -105,8 +105,8 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
-      
+      assertEquals(0, queue1.deliveringCount());
+       
       //Queue2
       
       refIds = getReferenceIdsOrderedByPageOrd(queue2.getChannelID());
@@ -118,8 +118,8 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
-            
+      assertEquals(0, queue2.deliveringCount());
+           
       //Msgs
       
       assertEquals(50, ms.size());
@@ -148,7 +148,7 @@
       }
       tx.prepare();
       tx.commit();
-      
+       
       //Queue1
       refIds = getReferenceIdsOrderedByPageOrd(queue1.getChannelID());
               
@@ -160,8 +160,8 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
-      
+      assertEquals(0, queue1.deliveringCount());
+        
       //Queue2
       
       refIds = getReferenceIdsOrderedByPageOrd(queue2.getChannelID());
@@ -173,7 +173,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -181,21 +181,19 @@
       
       msgIds = getMessageIds();
       assertEquals(25, msgIds.size());
-      
-      
-      
+       
       // Add 25 more
       tx = this.createXATx();
       for (int i = 75; i < 100; i++)
       {
          msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
-         
+
          refs1[i] = ms.reference(msgs[i]);
                 
          queue1.handle(null, refs1[i], tx); 
          
          refs1[i].releaseMemoryReference();
-         
+
          refs2[i] = ms.reference(msgs[i]);
          
          queue2.handle(null, refs2[i], tx); 
@@ -216,7 +214,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -229,7 +227,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -238,7 +236,6 @@
       msgIds = getMessageIds();
       assertEquals(50, msgIds.size());
       
-      
       // Add 50 more
       tx = this.createXATx();
       for (int i = 100; i < 150; i++)
@@ -259,7 +256,7 @@
       }
       tx.prepare();
       tx.commit();
-      
+         
       //Queue1
       refIds = getReferenceIdsOrderedByPageOrd(queue1.getChannelID());
                 
@@ -271,7 +268,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -284,19 +281,20 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
-            
+      assertEquals(0, queue2.deliveringCount());
+               
       //Msgs
       
       assertEquals(100, ms.size()); 
-      
+        
       msgIds = getMessageIds();
       assertEquals(100, msgIds.size());
-          
+             
       cancelDeliveries(queue1, 100);
-    
+      
       cancelDeliveries(queue2, 100);
       
+
       //Now consume them all
       
       this.consumeIn2PCTx(queue1, 0, refs1, 150);
@@ -314,8 +312,8 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
-      
+      assertEquals(0, queue1.deliveringCount());
+        
       //Queue2
       
       refIds = getReferenceIdsOrderedByPageOrd(queue2.getChannelID());
@@ -327,7 +325,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -103,7 +103,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -116,7 +116,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -155,7 +155,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -168,7 +168,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -209,7 +209,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -222,7 +222,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -262,7 +262,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -275,7 +275,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -306,7 +306,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -319,7 +319,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -107,7 +107,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -120,7 +120,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -161,7 +161,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -174,7 +174,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -216,7 +216,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -229,7 +229,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -270,7 +270,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -283,7 +283,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -314,7 +314,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -327,7 +327,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -105,7 +105,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -121,7 +121,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -165,7 +165,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -181,7 +181,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -227,7 +227,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -243,7 +243,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -288,7 +288,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -304,7 +304,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -335,7 +335,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -348,7 +348,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -107,7 +107,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -123,7 +123,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -165,7 +165,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -181,7 +181,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -225,7 +225,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -241,7 +241,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -284,7 +284,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -300,7 +300,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -331,7 +331,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -344,7 +344,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -107,7 +107,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -123,7 +123,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -166,7 +166,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -182,7 +182,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -227,7 +227,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -243,7 +243,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -287,7 +287,7 @@
       
       assertTrue(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -303,7 +303,7 @@
       
       assertTrue(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       
@@ -334,7 +334,7 @@
       
       assertFalse(queue1.isPaging());      
       
-      assertEquals(0, queue1.memoryDeliveryCount());
+      assertEquals(0, queue1.deliveringCount());
       
       //Queue2
       
@@ -347,7 +347,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
             
       //Msgs
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -111,7 +111,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -148,7 +148,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       //Send 9 more
@@ -186,7 +186,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -225,7 +225,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -263,7 +263,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -304,7 +304,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       //    Send 100 more refs then roll back
       tx = this.createXATx();
@@ -356,7 +356,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -398,7 +398,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -437,7 +437,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                 
       
@@ -471,7 +471,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -508,7 +508,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
 
       //Consume one more
@@ -542,7 +542,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -576,7 +576,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -608,7 +608,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -640,7 +640,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -672,7 +672,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -710,7 +710,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -749,7 +749,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -789,7 +789,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -819,7 +819,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -854,7 +854,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
                
       //Cancel 3 more
       
@@ -889,7 +889,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -926,7 +926,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
       //Now there should be 120 message left to consume
@@ -955,7 +955,7 @@
       assertFalse(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
                   
       //Consume the rest

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -104,7 +104,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -136,7 +136,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
                   
       //Send 9 more
       
@@ -170,7 +170,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -206,7 +206,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -241,7 +241,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -279,7 +279,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -318,7 +318,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -357,7 +357,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -393,7 +393,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                 
       
@@ -427,7 +427,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -464,7 +464,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -501,7 +501,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -535,7 +535,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -567,7 +567,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -599,7 +599,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -631,7 +631,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -666,7 +666,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -702,7 +702,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -739,7 +739,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -771,7 +771,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -806,7 +806,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
       
       
    
@@ -843,7 +843,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -881,7 +881,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       assertEquals(0, queue.downCacheCount());
 
@@ -907,7 +907,7 @@
       assertEquals(70, ms.size());
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       assertEquals(0, queue.downCacheCount());
                   

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -109,7 +109,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -145,7 +145,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       //Send 9 more
@@ -182,7 +182,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -220,7 +220,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -257,7 +257,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -297,7 +297,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       //Send 100 more refs then roll back
       tx = tr.createTransaction();
@@ -348,7 +348,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -389,7 +389,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -427,7 +427,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                 
       
@@ -461,7 +461,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -498,7 +498,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -534,7 +534,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -568,7 +568,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -600,7 +600,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -632,7 +632,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -664,7 +664,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -701,7 +701,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -739,7 +739,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -778,7 +778,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -809,7 +809,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -844,7 +844,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
       
       
    
@@ -881,7 +881,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -919,7 +919,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
       //Now there should be 120 message left to consume
@@ -948,7 +948,7 @@
       assertFalse(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
                   
       //Consume the rest

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -114,7 +114,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -155,7 +155,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       //Send 9 more
@@ -199,7 +199,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -243,7 +243,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -285,7 +285,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -330,7 +330,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       //    Send 100 more refs then roll back
       tx = this.createXATx();
@@ -386,7 +386,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -432,7 +432,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -475,7 +475,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                             
       //Consume 1
@@ -513,7 +513,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -555,7 +555,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -596,7 +596,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -635,7 +635,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -673,7 +673,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -711,7 +711,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -749,7 +749,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -791,7 +791,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -834,7 +834,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -879,7 +879,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -916,7 +916,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -957,7 +957,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
       
       
    
@@ -999,7 +999,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -1043,7 +1043,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
 
@@ -1080,7 +1080,7 @@
       assertFalse(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -110,7 +110,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -148,7 +148,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       //Send 9 more
@@ -189,7 +189,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       //Send one more ref - should clear the down cache
       
@@ -227,7 +227,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -267,7 +267,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -310,7 +310,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -354,7 +354,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -398,7 +398,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -439,7 +439,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                 
       
@@ -478,7 +478,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -519,7 +519,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -560,7 +560,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -599,7 +599,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -637,7 +637,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -675,7 +675,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -712,7 +712,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -751,7 +751,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -791,7 +791,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -833,7 +833,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -870,7 +870,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -911,7 +911,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
       
       
    
@@ -952,7 +952,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -996,7 +996,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
 
@@ -1033,7 +1033,7 @@
       assertFalse(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -113,7 +113,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       //Send one more ref
@@ -153,7 +153,7 @@
       assertTrue(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       //Send 9 more
@@ -196,7 +196,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -239,7 +239,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -280,7 +280,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -324,7 +324,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -369,7 +369,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       //Send 100 more refs then roll back
       tx = tr.createTransaction();
@@ -423,7 +423,7 @@
       assertTrue(queue.isPaging());  
 
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -465,7 +465,7 @@
       assertTrue(queue.isPaging());  
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
                             
       //Consume 1
@@ -503,7 +503,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -545,7 +545,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -586,7 +586,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -625,7 +625,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -663,7 +663,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -701,7 +701,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -739,7 +739,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
             
       
       
@@ -780,7 +780,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -822,7 +822,7 @@
       assertFalse(queue.isPaging());
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       
@@ -866,7 +866,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify no deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
        
@@ -903,7 +903,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 20 deliveries
-      assertEquals(20, queue.memoryDeliveryCount());;      
+      assertEquals(20, queue.deliveringCount());;      
       
       
        
@@ -944,7 +944,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 13 deliveries
-      assertEquals(13, queue.memoryDeliveryCount());;      
+      assertEquals(13, queue.deliveringCount());;      
       
       
    
@@ -986,7 +986,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 10 deliveries
-      assertEquals(10, queue.memoryDeliveryCount());;      
+      assertEquals(10, queue.deliveringCount());;      
       
             
       
@@ -1030,7 +1030,7 @@
       assertTrue(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());;      
+      assertEquals(0, queue.deliveringCount());;      
       
       
 
@@ -1067,7 +1067,7 @@
       assertFalse(queue.isPaging());      
       
       //Verify 0 deliveries
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -107,7 +107,7 @@
       
       assertTrue(queue.isPaging());      
       
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       //Stop and restart the persistence manager
       //All the paged refs will survive
@@ -140,7 +140,7 @@
       assertEquals(0, queue2.downCacheCount());
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
                    
       this.consume(queue2, 100, refs, 100);
       
@@ -153,7 +153,7 @@
       
       assertFalse(queue2.isPaging());      
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
       
       assertEquals(0, queue2.messageCount());
       
@@ -203,7 +203,7 @@
       
       assertTrue(queue.isPaging());      
       
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       //Stop and restart the persistence manager
       //Only the paged messages will survive
@@ -243,7 +243,7 @@
       
       this.consume(queue2, 100, refs, 100);
       
-      assertEquals(0, queue2.memoryDeliveryCount());
+      assertEquals(0, queue2.deliveringCount());
       
       assertEquals(0, queue2.messageCount());
       
@@ -293,7 +293,7 @@
       
       assertTrue(queue.isPaging());      
       
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       queue.removeAllReferences();
       
@@ -309,7 +309,7 @@
       
       assertFalse(queue.isPaging());      
       
-      assertEquals(0, queue.memoryDeliveryCount());
+      assertEquals(0, queue.deliveringCount());
       
       assertEquals(0, queue.messageCount());
       

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/DefaultPostOfficeTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -466,6 +466,11 @@
          msgs = receiver6.getMessages();
          assertNotNull(msgs);
          assertTrue(msgs.isEmpty());
+         
+         if (checkNoMessageData())
+         {
+            fail("data still in database");
+         }
       }
       finally
       {
@@ -474,10 +479,6 @@
             postOffice.stop();
          }
          
-         if (checkNoMessageData())
-         {
-            fail("data still in database");
-         }
       }
    
    }
@@ -511,8 +512,13 @@
                
          List msgs = receiver1.getMessages();
          assertNotNull(msgs);
-         assertTrue(msgs.isEmpty());             
+         assertTrue(msgs.isEmpty());  
          
+         if (checkNoMessageData())
+         {
+            fail("data still in database");
+         }
+         
       }
       finally
       {
@@ -521,10 +527,6 @@
             postOffice.stop();
          }
          
-         if (checkNoMessageData())
-         {
-            fail("data still in database");
-         }
       }
    }
    
@@ -626,6 +628,11 @@
          assertNotNull(msgs);
          assertTrue(msgs.isEmpty()); 
          
+         if (checkNoMessageData())
+         {
+            fail("data still in database");
+         }
+         
       }
       finally
       {
@@ -633,11 +640,7 @@
          {
             postOffice.stop();
          }
-         
-         if (checkNoMessageData())
-         {
-            fail("data still in database");
-         }
+        
       }
    }
    
@@ -981,21 +984,11 @@
          receiver2.acknowledge(msgRec1, tx);
          receiver2.acknowledge(msgRec2, tx);
          
-         msgs = queue1.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg5);
-         assertTrue(msgRec2 == msg6);
+         int deliveringCount = queue1.deliveringCount();
+         assertEquals(2, deliveringCount);
          
-         msgs = queue2.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg5);
-         assertTrue(msgRec2 == msg6);
+         deliveringCount = queue2.deliveringCount();
+         assertEquals(2, deliveringCount);
          
          tx.commit();
          
@@ -1048,55 +1041,38 @@
          receiver2.acknowledge(msgRec1, tx);
          receiver2.acknowledge(msgRec2, tx);
          
-         msgs = queue1.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg7);
-         assertTrue(msgRec2 == msg8);
+         deliveringCount = queue1.deliveringCount();
+         assertEquals(2, deliveringCount);
          
-         msgs = queue2.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg7);
-         assertTrue(msgRec2 == msg8);
+         deliveringCount = queue2.deliveringCount();
+         assertEquals(2, deliveringCount);
          
          tx.rollback();
          
-         msgs = queue1.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg7);
-         assertTrue(msgRec2 == msg8);
+         deliveringCount = queue1.deliveringCount();
+         assertEquals(2, deliveringCount);                  
+         
          receiver1.acknowledge(msgRec1, null);
          receiver1.acknowledge(msgRec2, null);
          
-         msgs = queue2.browse();
-         assertNotNull(msgs);
-         assertEquals(2, msgs.size());
-         msgRec1 = (Message)msgs.get(0);
-         msgRec2 = (Message)msgs.get(1);
-         assertTrue(msgRec1 == msg7);
-         assertTrue(msgRec2 == msg8);    
+         deliveringCount = queue2.deliveringCount();
+         assertEquals(2, deliveringCount);     
+         
+         
          receiver2.acknowledge(msgRec1, null);
          receiver2.acknowledge(msgRec2, null);
+         
+         if (checkNoMessageData())
+         {
+            fail("data still in database");
+         }
       }
       finally
       {
          if (postOffice != null)
          {
             postOffice.stop();
-         }
-         
-         if (checkNoMessageData())
-         {
-            fail("data still in database");
-         }
+         }         
       }
    }
    

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultClusteredPostOfficeTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -773,7 +773,11 @@
          msgs = queue3.browse();
          assertNotNull(msgs);
          assertTrue(msgs.isEmpty()); 
-         
+                  
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
       finally
       {
@@ -787,10 +791,6 @@
             office2.stop();
          }
          
-         if (checkNoMessageData())
-         {
-            fail("Message data still in database");
-         }
       }
    }
    
@@ -932,6 +932,11 @@
             assertTrue(msgs.isEmpty()); 
             receivers[i].clear();
          }
+         
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
 
       }
       finally
@@ -966,11 +971,7 @@
             }
             office2.stop();
          }
-         
-         if (checkNoMessageData())
-         {
-            fail("Message data still in database");
-         }
+        
       }
    }
    
@@ -1196,7 +1197,12 @@
          this.checkEmpty(receiver1);         
          this.checkEmpty(receiver2);
          checkContainsAndAcknowledge(msg, receiver3, sub2);           
-                 
+                         
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
+         
       }
       finally
       {
@@ -1215,11 +1221,6 @@
             office3.stop();
          }
          
-         
-         if (checkNoMessageData())
-         {
-            fail("Message data still in database");
-         }
       }
    }
    
@@ -1581,7 +1582,11 @@
          
          //n7
          checkContainsAndAcknowledge(msgs, receiver14, sharedDurable5);
-        
+         
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }        
       }
       finally
       {
@@ -1661,11 +1666,7 @@
             }
             office7.stop();
          }
-         
-         if (checkNoMessageData())
-         {
-            fail("Message data still in database");
-         }
+        
       }
    }
    
@@ -1873,16 +1874,11 @@
                         
             receivers[i].acknowledge(msgRec1, tx);
             receivers[i].acknowledge(msgRec2, tx);
-                        
-            msgs = queues[i].browse();
+             
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
-            
+            assertEquals(2, deliveringCount);
+                       
             receivers[i].clear();
          }
          
@@ -1938,15 +1934,10 @@
                         
             receivers[i].acknowledge(msgRec1, tx);
             receivers[i].acknowledge(msgRec2, tx);
-                        
-            msgs = queues[i].browse();
+               
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
+            assertEquals(2, deliveringCount);
             
          }
          
@@ -1972,14 +1963,9 @@
             Message msgRec2 = (Message)msgs.get(1);
             assertEquals(msg2.getMessageID(), msgRec2.getMessageID());      
                                  
-            msgs = queues[i].browse();
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
+            assertEquals(2, deliveringCount);
             
             receivers[i].acknowledge(msgRec1, null);
             receivers[i].acknowledge(msgRec2, null);
@@ -2134,14 +2120,9 @@
             receivers[i].acknowledge(msgRec1, tx);
             receivers[i].acknowledge(msgRec2, tx);
                         
-            msgs = queues[i].browse();
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
+            assertEquals(2, deliveringCount);
             
             receivers[i].clear();
          }
@@ -2203,14 +2184,9 @@
             receivers[i].acknowledge(msgRec2, tx);
             
             
-            msgs = queues[i].browse();
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
+            assertEquals(2, deliveringCount);
          }
          
          
@@ -2237,20 +2213,19 @@
             Message msgRec2 = (Message)msgs.get(1);
             assertEquals(msg2.getMessageID(), msgRec2.getMessageID());      
                                               
-            msgs = queues[i].browse();
+            int deliveringCount = queues[i].deliveringCount();
             
-            assertNotNull(msgs);
-            assertEquals(2, msgs.size());
-            msgRec1 = (Message)msgs.get(0);
-            assertEquals(msg1.getMessageID(), msgRec1.getMessageID());
-            msgRec2 = (Message)msgs.get(1);
-            assertEquals(msg2.getMessageID(), msgRec2.getMessageID());
+            assertEquals(2, deliveringCount);
             
             receivers[i].acknowledge(msgRec1, null);
             receivers[i].acknowledge(msgRec2, null);             
             
             receivers[i].clear();
          }
+         if (checkNoMessageData())
+         {
+            fail("Message data still in database");
+         }
       }
       finally
       {
@@ -2286,10 +2261,6 @@
             office2.stop();
          }
          
-         if (checkNoMessageData())
-         {
-            fail("Message data still in database");
-         }
       }
    }
    

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultMessagePullPolicyTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultMessagePullPolicyTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultMessagePullPolicyTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -381,6 +381,12 @@
          // TODO Auto-generated method stub
          
       }
+
+      public int deliveringCount()
+      {
+         // TODO Auto-generated method stub
+         return 0;
+      }
       
    }
 

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/DefaultRouterTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -618,6 +618,12 @@
          // TODO Auto-generated method stub
          
       }
+
+      public int deliveringCount()
+      {
+         // TODO Auto-generated method stub
+         return 0;
+      }
       
    }
    

Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -194,19 +194,19 @@
          
          log.info("r2 " + receiver2.getMessages().size());
          
-         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());
+         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(1, queue2.memoryDeliveryCount());
+         assertEquals(1, queue2.deliveringCount());
          
          this.acknowledgeAll(receiver2);
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
          
          assertTrue(office1.getHoldingTransactions().isEmpty());         
          assertTrue(office2.getHoldingTransactions().isEmpty());
@@ -289,14 +289,14 @@
          assertEquals(1, office1.getHoldingTransactions().size());         
          assertTrue(office2.getHoldingTransactions().isEmpty());
          
-         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());
+         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(1, queue1.memoryDeliveryCount());
+         assertEquals(1, queue1.deliveringCount());
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
          
          //Now kill office 2 - this should cause office1 to remove the dead held transaction
          
@@ -308,7 +308,7 @@
          //The delivery should be cancelled back to the queue too
          
          assertEquals(1, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
             
       }
@@ -389,11 +389,11 @@
          assertEquals(1, office1.getHoldingTransactions().size());         
          assertTrue(office2.getHoldingTransactions().isEmpty());
          
-         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());
+         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(1, queue1.memoryDeliveryCount());
+         assertEquals(1, queue1.deliveringCount());
             
          //Now kill office 2 - this should cause office1 to remove the dead held transaction
          
@@ -405,7 +405,7 @@
          //The delivery should be committed
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
       }
       finally
@@ -486,14 +486,14 @@
          assertTrue(office2.getHoldingTransactions().isEmpty());        
          assertTrue(office2.getHoldingTransactions().isEmpty());
          
-         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());
+         log.info("queue1 refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2 refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());
          
          assertEquals(1, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());                     
+         assertEquals(0, queue2.deliveringCount());                     
       }
       finally
       {
@@ -561,26 +561,26 @@
          //Check the sizes
          
          log.info("Here are the sizes:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
                
          assertEquals(NUM_MESSAGES, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
            
          assertEquals(NUM_MESSAGES, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue5.memoryRefCount());
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          SimpleReceiver receiver = new SimpleReceiver("blah", SimpleReceiver.ACCEPTING);
          
@@ -591,26 +591,26 @@
          Thread.sleep(7000);
          
          log.info("Here are the sizes:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(NUM_MESSAGES * 5, queue1.memoryDeliveryCount());
+         assertEquals(NUM_MESSAGES * 5, queue1.deliveringCount());
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
            
          assertEquals(0, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(0, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(0, queue5.memoryRefCount());
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          List messages = receiver.getMessages();
          
@@ -630,7 +630,7 @@
          receiver.clear();
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertTrue(office1.getHoldingTransactions().isEmpty());
          assertTrue(office2.getHoldingTransactions().isEmpty());
@@ -724,26 +724,26 @@
          //Check the sizes
          
          log.info("Here are the sizes 1:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
                
          assertEquals(NUM_MESSAGES, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
            
          assertEquals(NUM_MESSAGES, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(NUM_MESSAGES, queue5.memoryRefCount());
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          assertTrue(office1.getHoldingTransactions().isEmpty());
          assertTrue(office2.getHoldingTransactions().isEmpty());
@@ -766,17 +766,17 @@
          queue1.deliver(false);         
          Thread.sleep(1000);         
          assertEquals(NUM_MESSAGES - 5, queue1.memoryRefCount());
-         assertEquals(5, queue1.memoryDeliveryCount());
+         assertEquals(5, queue1.deliveringCount());
          
          acknowledgeAll(receiver1);
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          receiver1.setMaxRefs(0);
          
          receiver2.setMaxRefs(10);         
          queue2.deliver(false);         
          Thread.sleep(1000);
          assertEquals(NUM_MESSAGES - 10, queue2.memoryRefCount());
-         assertEquals(10, queue2.memoryDeliveryCount());
+         assertEquals(10, queue2.deliveringCount());
          acknowledgeAll(receiver2);
          receiver2.setMaxRefs(0);
                   
@@ -784,7 +784,7 @@
          queue3.deliver(false);         
          Thread.sleep(1000);
          assertEquals(NUM_MESSAGES - 15, queue3.memoryRefCount());
-         assertEquals(15, queue3.memoryDeliveryCount());
+         assertEquals(15, queue3.deliveringCount());
          acknowledgeAll(receiver3);
          receiver3.setMaxRefs(0);
          
@@ -792,7 +792,7 @@
          queue4.deliver(false);         
          Thread.sleep(1000);
          assertEquals(NUM_MESSAGES - 20, queue4.memoryRefCount());
-         assertEquals(20, queue4.memoryDeliveryCount());
+         assertEquals(20, queue4.deliveringCount());
          acknowledgeAll(receiver4);
          receiver4.setMaxRefs(0);
          
@@ -800,7 +800,7 @@
          queue5.deliver(false);         
          Thread.sleep(1000);
          assertEquals(NUM_MESSAGES - 25, queue5.memoryRefCount());
-         assertEquals(25, queue5.memoryDeliveryCount());
+         assertEquals(25, queue5.deliveringCount());
          acknowledgeAll(receiver5);
          receiver5.setMaxRefs(0);
          
@@ -813,11 +813,11 @@
          assertTrue(office5.getHoldingTransactions().isEmpty());
          
          log.info("Here are the sizes 2:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
      
          //Consume the rest from queue 5
          receiver5.setMaxRefs(NUM_MESSAGES - 25);
@@ -827,34 +827,34 @@
          log.info("receiver5 msgs:" + receiver5.getMessages().size());
          
          log.info("Here are the sizes 3:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
          
          //This will result in an extra one being pulled from queue1 - we cannot avoid this
          //This is because the channel does not know that the receiver is full unless it tries
          //with a ref so it needs to retrieve one
      
          assertEquals(NUM_MESSAGES - 6, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 10, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
           
          assertEquals(NUM_MESSAGES - 15, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 20, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(1, queue5.memoryRefCount());         
-         assertEquals(NUM_MESSAGES - 25, queue5.memoryDeliveryCount());
+         assertEquals(NUM_MESSAGES - 25, queue5.deliveringCount());
          
          acknowledgeAll(receiver5);
          
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          receiver5.setMaxRefs(0);
          
@@ -873,31 +873,31 @@
          Thread.sleep(5000);
            
          log.info("Here are the sizes 4:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 11, queue1.memoryRefCount());
           
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 10, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
           
          assertEquals(NUM_MESSAGES - 15, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 20, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(1, queue5.memoryRefCount());          
-         assertEquals(5, queue5.memoryDeliveryCount());
+         assertEquals(5, queue5.deliveringCount());
                
          acknowledgeAll(receiver5);
 
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          receiver1.setMaxRefs(0);
            
@@ -914,30 +914,30 @@
          Thread.sleep(2000);
           
          log.info("Here are the sizes 5:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 11, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 11, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
           
          assertEquals(NUM_MESSAGES - 15, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(NUM_MESSAGES - 20, queue4.memoryRefCount());
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertEquals(1, queue5.memoryRefCount());          
-         assertEquals(1, queue5.memoryDeliveryCount());
+         assertEquals(1, queue5.deliveringCount());
                   
          acknowledgeAll(receiver5);
          
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
          
          receiver5.setMaxRefs(0);
          
@@ -954,30 +954,30 @@
          Thread.sleep(7000);
          
          log.info("Here are the sizes 6:");         
-         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.memoryDeliveryCount());
-         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.memoryDeliveryCount());         
-         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.memoryDeliveryCount());         
-         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.memoryDeliveryCount());         
-         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.memoryDeliveryCount());
+         log.info("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.deliveringCount());
+         log.info("queue2, refs:" + queue2.memoryRefCount() + " dels:" + queue2.deliveringCount());         
+         log.info("queue3, refs:" + queue3.memoryRefCount() + " dels:" + queue3.deliveringCount());         
+         log.info("queue4, refs:" + queue4.memoryRefCount() + " dels:" + queue4.deliveringCount());         
+         log.info("queue5, refs:" + queue5.memoryRefCount() + " dels:" + queue5.deliveringCount());
          
          assertEquals(0, queue1.memoryRefCount());
-         assertEquals(0, queue1.memoryDeliveryCount());
+         assertEquals(0, queue1.deliveringCount());
          
          assertEquals(0, queue2.memoryRefCount());
-         assertEquals(0, queue2.memoryDeliveryCount());
+         assertEquals(0, queue2.deliveringCount());
           
          assertEquals(0, queue3.memoryRefCount());
-         assertEquals(0, queue3.memoryDeliveryCount());
+         assertEquals(0, queue3.deliveringCount());
          
          assertEquals(0, queue4.memoryRefCount());
-         assertEquals(NUM_MESSAGES - 15 + NUM_MESSAGES - 20 + NUM_MESSAGES - 11 + NUM_MESSAGES - 11 + 1, queue4.memoryDeliveryCount());
+         assertEquals(NUM_MESSAGES - 15 + NUM_MESSAGES - 20 + NUM_MESSAGES - 11 + NUM_MESSAGES - 11 + 1, queue4.deliveringCount());
          
          assertEquals(0, queue5.memoryRefCount());          
-         assertEquals(0, queue5.memoryDeliveryCount());
+         assertEquals(0, queue5.deliveringCount());
                   
          acknowledgeAll(receiver4);
          
-         assertEquals(0, queue4.memoryDeliveryCount());
+         assertEquals(0, queue4.deliveringCount());
          
          assertTrue(office1.getHoldingTransactions().isEmpty());
          assertTrue(office2.getHoldingTransactions().isEmpty());

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	2006-12-28 16:34:39 UTC (rev 1866)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java	2006-12-28 20:58:01 UTC (rev 1867)
@@ -549,11 +549,11 @@
          prod.setDeliveryMode(DeliveryMode.PERSISTENT);
    
          // Create 1 durable subscription and 1 non-durable subscription
-         TopicSubscriber tsDurable = s.createDurableSubscriber(topic, "Durable1");
-         TopicSubscriber tsNonDurable = s.createSubscriber(topic);
+         s.createDurableSubscriber(topic, "Durable1");
+         s.createSubscriber(topic);
          
          // Send 1 message
-         prod.send(s.createTextMessage("First one"));
+         prod.send(s.createTextMessage("First one"));         
          
          ObjectName destObjectName = 
             new ObjectName("jboss.messaging.destination:service=Topic,name=TopicRemoveAllMessages");
@@ -578,18 +578,12 @@
    
          // Try to receive messages from the two subscriptions, should be null
          
-         //This is not valid - the messages will already be in the consumer endpoints and
-         //possibly the client consumers
-//         assertNull(tsDurable.receiveNoWait());
-//         assertNull(tsNonDurable.receiveNoWait());
-         
          listMsg = (List)ServerManagement.invoke(destObjectName, 
                   "listMessagesDurableSub",
                   new Object[] {"Durable1", "Client1", null},
                   new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
          assertEquals(0, listMsg.size());
-         
-         
+                  
          // Now close the connection
          conn.close();
          
@@ -606,19 +600,16 @@
          listMsg = (List)ServerManagement.invoke(destObjectName, 
                   "listMessagesDurableSub",
                   new Object[] {"Durable1", "Client1", null},
-                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});         
-         assertEquals(1, listMsg.size());
+                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});   
          
+         assertEquals(2, listMsg.size());
+
          // Start the connection for delivery
          conn.start();
          
          // Remove all messages from the topic
          ServerManagement.invoke(destObjectName, "removeAllMessages", null, null);
    
-         // Restore the durable subscription now, the message should be already gone
-         tsDurable = s.createDurableSubscriber(topic, "Durable1");
-         //assertNull(tsDurable.receiveNoWait());
-         
          listMsg = (List)ServerManagement.invoke(destObjectName, 
                   "listMessagesDurableSub",
                   new Object[] {"Durable1", "Client1", null},
@@ -670,49 +661,26 @@
          // There should be 3 subscriptions
          ObjectName destObjectName = 
             new ObjectName("jboss.messaging.destination:service=Topic,name=TopicMessageList");
+         
          String strSub = (String)ServerManagement.invoke(destObjectName, "listSubscriptionsAsText", null, null);
-         // Each subscription will have the same message
-         // Durable sub
-         List listMsg = (List)ServerManagement.invoke(destObjectName, 
-               "listMessagesDurableSub",
-               new Object[] {"SubscriberA", "Client1", null},
-               new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
-         assertEquals(1, listMsg.size());
-         assertTrue(listMsg.get(0) instanceof TextMessage);
-         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
          
-         // Non-durable sub 1
-         int ptr1 = strSub.indexOf("Non-durable, subscriptionID=\"");
-         int ptr2 = strSub.indexOf("\"", ptr1 + 30);
-         String sub = strSub.substring(ptr1 + 29, ptr2);
-         long sID1 = Long.parseLong(sub);
-         listMsg = (List)ServerManagement.invoke(destObjectName, 
-               "listMessagesNonDurableSub",
-               new Object[] {new Long(sID1), null},
-               new String[] {"long", "java.lang.String"});
-         assertEquals(1, listMsg.size());
-         assertTrue(listMsg.get(0) instanceof TextMessage);
-         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
-   
-         // Non-durable sub 2
-         strSub = strSub.substring(ptr2 + 1);
-         ptr1 = strSub.indexOf("Non-durable, subscriptionID=\"");
-         ptr2 = strSub.indexOf("\"", ptr1 + 30);
-         sub = strSub.substring(ptr1 + 29, ptr2);
-         long sID2 = Long.parseLong(sub);
-         assertFalse(sID1 == sID2);
-         listMsg = (List)ServerManagement.invoke(destObjectName, 
-               "listMessagesNonDurableSub",
-               new Object[] {new Long(sID2), null},
-               new String[] {"long", "java.lang.String"});
-         assertEquals(1, listMsg.size());
-         assertTrue(listMsg.get(0) instanceof TextMessage);
-         assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
          
+         // Note that listing the messages ONLY list those ones not in the process of delivery
+         // Therefore the following is invalid
+         
+         
          // Send another message
          prod.send(s.createTextMessage("Second one"));
+                  
          
-         // The durable subscription has 2 messages
+         List listMsg = (List)ServerManagement.invoke(destObjectName, 
+                  "listMessagesDurableSub",
+                  new Object[] {"SubscriberA", "", null},
+                  new String[] {"java.lang.String", "java.lang.String", "java.lang.String"});
+         assertEquals(0, listMsg.size());
+            
+         conn.close();
+         
          listMsg = (List)ServerManagement.invoke(destObjectName, 
                "listMessagesDurableSub",
                new Object[] {"SubscriberA", "", null},
@@ -723,8 +691,6 @@
          assertEquals(((TextMessage)listMsg.get(0)).getText(), "First one");
          assertEquals(((TextMessage)listMsg.get(1)).getText(), "Second one");
          
-         // Clean-up
-         conn.close();
       }
       finally
       {




More information about the jboss-cvs-commits mailing list