[hornetq-commits] JBoss hornetq SVN: r10221 - in branches/Branch_2_2_EAP: tests/src/org/hornetq/tests/timing/core/server/impl and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Feb 16 16:47:38 EST 2011


Author: clebert.suconic at jboss.com
Date: 2011-02-16 16:47:37 -0500 (Wed, 16 Feb 2011)
New Revision: 10221

Modified:
   branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java
   branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ScheduledDeliveryHandlerImpl.java
   branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/timing/core/server/impl/QueueImplTest.java
Log:
https://issues.jboss.org/browse/JBPAPP-5926 - further fixing scheduled delivery order of delivery

Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java	2011-02-16 20:30:58 UTC (rev 10220)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java	2011-02-16 21:47:37 UTC (rev 10221)
@@ -1275,8 +1275,10 @@
    {
       for (ConsumerHolder holder : this.consumerList)
       {
-         // GC finalize will take care of closing it
-         // We can't close it now as the iterator could be already being used
+         if (holder.iter != null)
+         {
+            holder.iter.close();
+         }
          holder.iter = null;
       }
    }

Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ScheduledDeliveryHandlerImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ScheduledDeliveryHandlerImpl.java	2011-02-16 20:30:58 UTC (rev 10220)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ScheduledDeliveryHandlerImpl.java	2011-02-16 21:47:37 UTC (rev 10221)
@@ -69,11 +69,13 @@
          {
             if (tail)
             {
-               scheduledReferences.add(ref);
+               // We do the opposite what the parameter says as the Runnable will always add it to the head
+               scheduledReferences.addFirst(ref);
             }
             else
             {
-               scheduledReferences.addFirst(ref);
+               // We do the opposite what the parameter says as the Runnable will always add it to the head
+               scheduledReferences.add(ref);
             }
          }
 
@@ -198,7 +200,8 @@
                Queue queue = reference.getQueue();
                synchronized (queue)
                {
-                  queue.addTail(reference);
+                  queue.resetAllIterators();
+                  queue.addHead(reference);
                }
             }
             

Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/timing/core/server/impl/QueueImplTest.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/timing/core/server/impl/QueueImplTest.java	2011-02-16 20:30:58 UTC (rev 10220)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/timing/core/server/impl/QueueImplTest.java	2011-02-16 21:47:37 UTC (rev 10221)
@@ -119,15 +119,15 @@
       // Scheduled refs are added back to *FRONT* of queue - otherwise if there were many messages in the queue
       // They may get stranded behind a big backlog
 
+      refs.add(ref1);
+      refs.add(ref8);
+      refs.add(ref5);
+      refs.add(ref6);
+      refs.add(ref7);
 
       refs.add(ref2);
       refs.add(ref3);
       refs.add(ref4);
-      refs.add(ref7);
-      refs.add(ref6);
-      refs.add(ref5); 
-      refs.add(ref8);
-      refs.add(ref1);
 
       Thread.sleep(7500);
 



More information about the hornetq-commits mailing list