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

        

Reply via email to