diff options
author | Martin Ritchie <ritchiem@apache.org> | 2007-10-19 15:01:15 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2007-10-19 15:01:15 +0000 |
commit | e2eb3cd3fd864fe1f6335133c0f77b574ff35292 (patch) | |
tree | 0ea6b0b49162f8dea2b0d5c0d82f6fbc22899f5d | |
parent | 5d226ec51a24066b33658cc0b5cdc19bbd36c53b (diff) | |
download | qpid-python-e2eb3cd3fd864fe1f6335133c0f77b574ff35292.tar.gz |
QPID-647 : Update to ConcurrentSelectorDeliveryManager to restart async process if a msg is queued that has the potential to be delivered.
Delayed the restart until the Filtering subscribers have the message enqueued to their PDQs.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@586489 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/ConcurrentSelectorDeliveryManager.java | 14 |
1 files changed, 7 insertions, 7 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 71e50b178c..eabc8ebf38 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 @@ -830,13 +830,6 @@ public class ConcurrentSelectorDeliveryManager implements DeliveryManager //release lock now message is on queue. _lock.unlock(); - //if we have a non-filtering subscriber but queued messages && we're not Async && we have other Active subs then something is wrong! - if ((s != null && hasQueuedMessages()) && !isProcessingAsync() && _subscriptions.hasActiveSubscribers()) - { - _queue.deliverAsync(); - } - - //Pre Deliver to all subscriptions if (debugEnabled) { @@ -868,6 +861,13 @@ public class ConcurrentSelectorDeliveryManager implements DeliveryManager sub.enqueueForPreDelivery(msg, deliverFirst); } } + + //if we have a non-filtering subscriber but queued messages && we're not Async && we have other Active subs then something is wrong! + if ((s != null && hasQueuedMessages()) && !isProcessingAsync() && _subscriptions.hasActiveSubscribers()) + { + _queue.deliverAsync(); + } + } } else |