diff options
| author | Aidan Skinner <aidan@apache.org> | 2008-09-18 16:12:46 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2008-09-18 16:12:46 +0000 |
| commit | 120d4bb0ab925450e5f7072ab8284b5b2abd8495 (patch) | |
| tree | 4bf080690dfc5f79147d6554a8cb48ad72c59f53 /java/broker/src/main | |
| parent | e2b079386b19c34a26bb4a7c67bd002ebb9bdc94 (diff) | |
| download | qpid-python-120d4bb0ab925450e5f7072ab8284b5b2abd8495.tar.gz | |
QPID-1286: make sure priority queues don't mess with deleted subscriptions
AMQPriorityQueue: don't advance deleted subscriptions
AMQPriorityQueueTest: Add test class for priority queues
SimpleAMQQueueTest: Add more tests
PriorityTest: Check for more message orders
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@696686 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java index e14ed0f41d..d7aef34a10 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQPriorityQueue.java @@ -52,8 +52,12 @@ public class AMQPriorityQueue extends SimpleAMQQueue while(subIter.advance() && !entry.isAcquired()) { final Subscription subscription = subIter.getNode().getSubscription(); + if (subIter.getNode().isDeleted()) + { + continue; + } QueueEntry subnode = subscription.getLastSeenEntry(); - while((entry.compareTo(subnode) < 0) && !entry.isAcquired()) + while(entry.compareTo(subnode) < 0 && !entry.isAcquired()) { if(subscription.setLastSeenEntry(subnode,entry)) { |
