summaryrefslogtreecommitdiff
path: root/qpid/java/broker
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-09-12 15:01:43 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-09-12 15:01:43 +0000
commitc6d9d4d374608b260f60d91624127c007e23ca43 (patch)
tree348a8c2cb219cf6bcfbf0906e7638717ec366343 /qpid/java/broker
parent813499376e288db736428c2eb6b4634dde40a34c (diff)
downloadqpid-python-c6d9d4d374608b260f60d91624127c007e23ca43.tar.gz
QPID-572 Applied test patch supplied by Aidan Skinner along with change to ConcurrentSelectorDeliveryManager that resolves the ordering problem.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@574982 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
index 0639243e02..f3b8f0de35 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
@@ -747,7 +747,7 @@ public class ConcurrentSelectorDeliveryManager implements DeliveryManager
{
Subscription s = _subscriptions.nextSubscriber(msg);
- if (s == null) //no-one can take the message right now.
+ if (s == null || hasQueuedMessages()) //no-one can take the message right now or we're queueing
{
if (debugEnabled)
{
@@ -795,6 +795,12 @@ public class ConcurrentSelectorDeliveryManager implements DeliveryManager
}
else
{
+
+ if (_messages.size() > 0)
+ {
+ _log.error("Direct delivery with queued msgs:" + _messages.size());
+ }
+
//release lock now
_lock.unlock();
synchronized (s.getSendLock())