diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2008-04-21 15:57:15 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2008-04-21 15:57:15 +0000 |
commit | 1a7004fd9dab8306ec31b96d9d5e2d5a44256d98 (patch) | |
tree | 7e85c7ee134d3204726f4cc64f7dc5b15656eff8 | |
parent | 9930676624d4c27f866c9d40227fd7c282f4dac2 (diff) | |
download | qpid-python-1a7004fd9dab8306ec31b96d9d5e2d5a44256d98.tar.gz |
remove duplicate check of interest in enqueue, enable new Queue by default
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/broker-queue-refactor@650179 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java | 4 | ||||
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 18 |
2 files changed, 7 insertions, 15 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java index c2e53ea3c7..99da9c20fa 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java @@ -34,7 +34,7 @@ public class AMQQueueFactory VirtualHost virtualHost) throws AMQException { - return new AMQQueueImpl(name, durable, owner, autoDelete, virtualHost); - //return new SimpleAMQQueue(name, durable, owner, autoDelete, virtualHost); + //return new AMQQueueImpl(name, durable, owner, autoDelete, virtualHost); + return new SimpleAMQQueue(name, durable, owner, autoDelete, virtualHost); } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index b028d60b19..6dae7edb72 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -382,13 +382,11 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener Subscription sub = nextNode.getSubscription(); synchronized(sub.getSendLock()) { - if(subscriptionReady(sub, entry) + if(subscriptionReadyAndHasInterest(sub, entry) && !sub.isSuspended() && sub.isActive()) { - if( sub.hasInterest(entry) ) - { if( !sub.wouldSuspend(entry)) { if(!sub.isBrowser() && entry.acquire(sub)) @@ -406,15 +404,8 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } } - } - else - { - QueueEntryList.QueueEntryNode queueEntryNode = (QueueEntryList.QueueEntryNode) sub.getQueueContext(); - if(queueEntryNode.getNext() == entry) - { - sub.setQueueContext(queueEntryNode,entry); - } - } + + } } } @@ -456,7 +447,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } - private boolean subscriptionReady(final Subscription sub, final QueueEntry entry) + private boolean subscriptionReadyAndHasInterest(final Subscription sub, final QueueEntry entry) { QueueEntryList.QueueEntryNode node = (QueueEntryList.QueueEntryNode) sub.getQueueContext(); @@ -471,6 +462,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } else { + node = null; break; } |