diff options
Diffstat (limited to 'java/client/src/main')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java index 7ce81aeea2..41880ee11e 100644 --- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java +++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java @@ -277,6 +277,14 @@ public abstract class BasicMessageConsumer<H, B> extends Closeable implements Me _messageListener.set(messageListener); _session.setHasMessageListeners(); _session.startDispatcherIfNecessary(); + + // If we already have messages on the queue, deliver them to the listener + Object o = _synchronousQueue.poll(); + while (o != null) + { + messageListener.onMessage((Message) o); + o = _synchronousQueue.poll(); + } } } } |
