summaryrefslogtreecommitdiff
path: root/java/broker/src
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
commitc9a48638e074b5c5db13ddd49dea03f0895baf5f (patch)
treed0627722b7d87fcc19100bf5df209a2e3956b5ab /java/broker/src
parent46b15e2c2f9e454fd7041f1e6ad723d093bee052 (diff)
downloadqpid-python-c9a48638e074b5c5db13ddd49dea03f0895baf5f.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/qpid@574982 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java b/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
index 0639243e02..f3b8f0de35 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java
+++ b/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())