summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java10
1 files changed, 3 insertions, 7 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
index b16d1eb8e3..0220a553a7 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/OutOfOrderQueue.java
@@ -1,12 +1,14 @@
package org.apache.qpid.server.queue;
import java.util.Map;
+
import org.apache.qpid.server.subscription.Subscription;
import org.apache.qpid.server.subscription.SubscriptionList;
import org.apache.qpid.server.virtualhost.VirtualHost;
public abstract class OutOfOrderQueue extends SimpleAMQQueue
{
+
protected OutOfOrderQueue(String name, boolean durable, String owner,
boolean autoDelete, boolean exclusive, VirtualHost virtualHost,
QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
@@ -27,11 +29,8 @@ public abstract class OutOfOrderQueue extends SimpleAMQQueue
QueueContext context = (QueueContext) subscription.getQueueContext();
if(context != null)
{
- QueueEntry subnode = context._lastSeenEntry;
QueueEntry released = context._releasedEntry;
-
- while(subnode != null && entry.compareTo(subnode) < 0 && !entry.isAcquired()
- && (released == null || released.compareTo(entry) > 0))
+ while(!entry.isAcquired() && (released == null || released.compareTo(entry) > 0))
{
if(QueueContext._releasedUpdater.compareAndSet(context,released,entry))
{
@@ -39,14 +38,11 @@ public abstract class OutOfOrderQueue extends SimpleAMQQueue
}
else
{
- subnode = context._lastSeenEntry;
released = context._releasedEntry;
}
-
}
}
}
-
}
}