diff options
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java')
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index 209e2eafe4..9edb97feec 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -354,9 +354,14 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } // ------ Enqueue / Dequeue - + public QueueEntry enqueue(StoreContext storeContext, AMQMessage message) throws AMQException { + return enqueue(storeContext, message, false); + } + + public QueueEntry enqueue(StoreContext storeContext, AMQMessage message, boolean ignoreImmediate) throws AMQException + { incrementQueueCount(); incrementQueueSize(message); @@ -442,7 +447,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } } - if (entry.immediateAndNotDelivered()) + if (entry.immediateAndNotDelivered() && !ignoreImmediate) { dequeue(storeContext, entry); entry.dispose(storeContext); |