activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] Updated: (AMQCPP-90) Openwire Session doesn't run its MessageListeners from a single thread
Date Fri, 16 Mar 2007 13:22:34 GMT


Timothy Bish updated AMQCPP-90:

    Fix Version/s:     (was: 2.0)

Moving this to 2.1.  We want to get a release with openwire out in the wild first, then we
can focus on this issue.  

> Openwire Session doesn't run its MessageListeners from a single thread
> ----------------------------------------------------------------------
>                 Key: AMQCPP-90
>                 URL:
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: Openwire
>    Affects Versions: 2.0
>            Reporter: Albert Strasheim
>         Assigned To: Nathan Mittler
>             Fix For: 2.1
>         Attachments: MultipleConsumerTest.cpp,
> According to the JMS 1.1 specification, section 4.4.14 Serial Execution of Client Code:
> For this reason, JMS does not cause concurrent execution of client code unless
> a client explicitly requests it. One way this is done is to define that a session
> serializes all asynchronous delivery of messages.
> To receive messages asynchronously, a client registers an object that
> implements the JMS MessageListener interface with a MessageConsumer. In effect,
> a Session uses a single thread to run all its MessageListeners. While the thread is
> busy executing one listener, all other messages to be asynchronously delivered
> to the session must wait.
> In the attached code I have 5 consumers created from the same session, all with the same
message listener instance that receives a message, prints something and then sleeps for a
while. When running the C++ code, one sees that 5 messages (there are 5 consumers) are delivered
at approximately the same time. Under Java, one only sees 1 message delivered per interval.
> This seems to indicate that the Openwire Session doesn't run its MessageListeners from
a single thread. This can cause problems if the user's MessageListener isn't thread safe.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message