activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Strasheim (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQCPP-90) Openwire Session doesn't run its MessageListeners from a single thread
Date Fri, 16 Mar 2007 10:27:34 GMT
Openwire Session doesn't run its MessageListeners from a single thread
----------------------------------------------------------------------

                 Key: AMQCPP-90
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-90
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: Openwire
    Affects Versions: 2.0
            Reporter: Albert Strasheim
         Assigned To: Nathan Mittler
             Fix For: 2.0


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.


Mime
View raw message