Hi,

I think I may have found a bug which is demonstrated by this exception in my
Xfire Dynamic client (with JMS TRansport Rregistered):

Caused by: javax.jms.JMSException: MQJMS1013: operation invalid whilst
session is using asynchronous delivery
   at com.ibm.mq.jms.services.ConfigEnvironment.newException(
ConfigEnvironment.java:567)
   at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1193)
   at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:3123)
   at org.codehaus.xfire.transport.jms.JMSChannel.send(JMSChannel.java:244)


I understand the fix requires the JMSChannel to open 2 sessions and not 1 as
is currently does:

a) 1 session for asych delivery and
b) 1 session for syncronous sends


A reference:

post from '*bower5932' *at
http://www.mqseries.net/phpBB/viewtopic.php?p=1208&sid=59547aca6ef245b05a74b34cd2646ab0

"in the Writing MQ JMS Programs chapter under a section titled Asynchronous
Delivery. It states:

Use of asynchronous delivery with a QueueReceiver marks the entire session
as asynchronous. It is an error to make an explicit call to the receive
methods of a QueueReceiver that is associated with a Session that is using
asynchronous delivery.

So, once you setMessageListener, you disabled your ability to send
syncronously and you are getting the MQJSM1013 error"


I modified JMSChannel to open 2 sessions and the problem goes away.  (my
modified version is attached, although it also contains addition logging
debris)

All the best
Wayne

Attachment: JMSChannel.java
Description: Binary data

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to