You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/04/19 17:11:15 UTC
[jira] Updated: (QPID-293) setting MessageListener after connection
has started can cause messages to be "lost" on a internal delivery queue.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie updated QPID-293:
--------------------------------
Fix Version/s: M3
Assignee: (was: Martin Ritchie)
Affects Version/s: M2
M1
> 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
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
> Priority: Blocker
> Fix For: M3
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.