Exception inside the DMLC for Temporary ReplyTo Queue for destination

Posted on

Hello
I have a simple BluePrint.xml where I read a Message from IBM MQ (7.5)<MYCOMPANY.OUT> , process the message and then write a message on to a different IBM MQ <MYCOMPANY.in>

The message in the MYCOMPANY.OUT is getting read successfully. However when at the end of the camel route when the response message is being created in MYCOMPANY.in, I am seeing below exception.

I have see several artificles with similar issue but I havent found a solution yet. What property should I be setting in JMSConnection section and should I use replyToType=Exclusive option in to:URI MYCOMPANY.in ?

WARN | DA_MEMO_POST.IN] | TemporaryQueueReplyManager | oraryReplyQueueExceptionListener 186 | 218 - org.apache.camel.camel-jms - 2.12.0.redhat-611423 | Exception inside the DMLC for Temporary ReplyTo Queue for destination MYCOMPANY.in, refreshing ReplyTo destination
com.ibm.msg.client.jms.DetailedIllegalStateException: JMSCC0020: This session is closed.
An application called a method that must not be used after the session is closed.
Ensure that the session is not closed before calling the method.
at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)[:1.7.0_71]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_71]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_71]
at com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:319)[241:com.ibm.msg.client.osgi.commonservices.j2se:7.5.0.2]
at com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:233)[238:com.ibm.msg.client.osgi.jms:7.5.0.2]
at com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:109)[238:com.ibm.msg.client.osgi.jms:7.5.0.2]
at com.ibm.msg.client.jms.internal.State.checkNotClosed(State.java:150)[238:com.ibm.msg.client.osgi.jms:7.5.0.2]
at com.ibm.msg.client.jms.internal.JmsSessionImpl.checkNotClosed(JmsSessionImpl.java:2526)[238:com.ibm.msg.client.osgi.jms:7.5.0.2]
at com.ibm.msg.client.jms.internal.JmsSessionImpl.getTransacted(JmsSessionImpl.java:1587)[238:com.ibm.msg.client.osgi.jms:7.5.0.2]
at com.ibm.mq.jms.MQSession.getTransacted(MQSession.java:902)[245:com.ibm.msg.client.osgi.wmq:7.5.0.2]
at org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:573)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:358)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1101)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1093)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:990)[178:org.apache.servicemix.bundles.spring-jms:3.2.12.RELEASE_1]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_71