JMSChannel violates the JMS specification
-----------------------------------------
Key: XFIRE-1060
URL: http://jira.codehaus.org/browse/XFIRE-1060
Project: XFire
Issue Type: Bug
Components: JMS
Affects Versions: 1.2.6
Environment: Windows XP, JBoss 4.0.4GA, IBM MQ (5.306-12-051103)
Reporter: Walter Seymore
Assignee: Dan Diephouse
Attachments: JMSChannel.patch
The JMSChannel sets a message listener on the consumer when the channel is
opened and then proceeds to use the same session that was used to create this
consumer to send messages. This is not supported by the specification. See the
following excerpt from the JMS javadocs
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/Session.html:
Once a connection has been started, any session with one or more registered
message listeners is dedicated to the thread of control that delivers messages
to it. It is erroneous for client code to use this session or any of its
constituent objects from another thread of control. The only exception to this
rule is the use of the session or connection close method.
The IBM MQ JMS provider follows the specification in this regard and causes an
error to be thrown as soon as a message is sent. The error message is as
follows:
javax.jms.JMSException: MQJMS1013: operation invalid whilst session is using
asynchronous delivery.
I fixed this issue by creating 2 sessions instead of 1. A patch is attached.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email