setting MessageListener after connection has started can cause messages to be
"lost" on a internal delivery queue.
------------------------------------------------------------------------------------------------------------------
Key: QPID-293
URL: https://issues.apache.org/jira/browse/QPID-293
Project: Qpid
Issue Type: Bug
Components: Java Client
Reporter: Martin Ritchie
Assigned To: Martin Ritchie
Priority: Blocker
The message delivery process:
Mina puts a message on _queue in AMQSession and the dispatcher thread take()s
from here and dispatches to the _consumers. If the _consumer doesn't have a
message listener set at connection start then messages are stored on
_synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers
on a session can run in any order and a synchronous put/poll will block the
dispatcher).
When setting the message listener later the _synchronousQueue is just poll()'ed
and the first message delivered the remaining messages will be left on the
queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira