You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Mark Borner <ma...@zurich.com.au> on 2011/12/22 23:46:52 UTC

Camel JMS Request/Reply with Websphere

Hello:

I'm trying to use Camel (v 2.6.0) JMS Request/Reply with Websphere 7 using 
Websphere MQ.  I'm successfully able to put the request message onto the 
queue using the following URI:

jms:queue:inboundQueue?connectionFactory=#connectionFactory&taskExecutor=#taskExecutor&transactionManager=#transactionManager&cacheLevelName=CACHE_NONE&replyTo=outboundQueue&requestTimeout=120000

Note: I have to use cacheLevelName=CACHE_NONE in order for this to work on 
Websphere.

However, when Camel creates the PersistentQueueMessageListenerContainer to 
read the reply message, it is hard coding the cache level to CACHE_SESSION 
(see PersistentQueueReplyManager.java line 192).  What happens is that 
Camel is successfully able to read the reply off the queue, but then spits 
out the following error repeatedly:

23 Dec 2011 09:23:32,427|||WorkManager.DefaultWorkManager : 3||WARN 
|org.springframework.jms.listener.DefaultMessageListenerContainer|Setup of 
JMS message listener invoker failed for destination 'temporary' - trying 
to recover. Cause: Connection closed

I believe this is due to the PersistentQueueMessageListenerContainer using 
a cache level of CACHE_SESSION instead of CACHE_NONE.

Can you please confirm there is no way to set the cache level on the 
PersistentQueueMessageListenerContainer that Camel creates?

Can Camel be enhanced to either a) use the cache level from the request 
queue, or b) have the ability to set the cache level on the reply queue?

Thanks,
Mark

Mark Borner
Java Developer - ZStream Xpress






----
This email is intended for the named recipient only. It may contain 
information which is confidential, commercially sensitive, or 
copyright. If you are not the intended recipient you must not 
reproduce or distribute any part of the email, disclose its contents, 
or take any action in reliance. If you have received this email in 
error, please contact the sender and delete the message. It is your 
responsibility to scan this email and any attachments for viruses and 
other defects. To the extent permitted by law, Zurich and its 
associates will not be liable for any loss or damage arising in any 
way from this communication including any file attachments. We may 
monitor email you send to us, either as a reply to this email or any 
email you send to us, to confirm our systems are protected and for 
compliance with company policies. Although we take reasonable 
precautions to protect the confidentiality of our email systems, we 
do not warrant the confidentiality or security of email or 
attachments we receive.

Re: Camel JMS Request/Reply with Websphere

Posted by wing-tung Leung <wi...@gmail.com>.
On Thu, Dec 22, 2011 at 11:46 PM, Mark Borner <ma...@zurich.com.au>wrote:

>
> I'm trying to use Camel (v 2.6.0) JMS Request/Reply with Websphere 7 using
> Websphere MQ.  I'm successfully able to put the request message onto the
> queue using the following URI:
>
>
> jms:queue:inboundQueue?connectionFactory=#connectionFactory&taskExecutor=#taskExecutor&transactionManager=#transactionManager&cacheLevelName=CACHE_NONE&replyTo=outboundQueue&requestTimeout=120000
>
> Note: I have to use cacheLevelName=CACHE_NONE in order for this to work on
> Websphere.
>

We work on WebSphere AS 6.1 in combination with WebSphere MQ as well, and I
also had trouble with the cache settings. Lowering cache level to
CACHE_NONE, seemed to solved the issue at first sight, but this leads to
intermediate JMS session resets, and in our case, possible lost messages
because we did not use any durable subscriptions. A colleague of mine
warned me for some problems he had with durable subscriptions in WebSphere
MQ, so I did not even try that particular setup.

Bringing the cache level to CACHE_CONSUMER solves the problem with lost
messages, but this is not compatible with the default WAS work manager. The
latter uses some kind of asynchronous internal beans, which REQUIRE closing
JMS connections at the end of each call.

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fasyncbns%2Fconcepts%2Fcasb_asbover.html

The trick to solve this: don't use the WAS work manager, but use some
simple Spring thread pool based executor instead.

So, maybe you can give this a try for you as well ..

Tung

Re: Camel JMS Request/Reply with Websphere

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Great to know you got it working.
And thanks for sharing your solution to the community. It can help
other users in the future with a similar/related situation.

And I was also wondering as its most often a fact that when using IBM
MQ you need to configure CACHE_NONE on the jms component
caching levels, and as well configure the MQ JMS client to be in Java mode.
But you had all that nicely configured correctly.

Well good luck with your project. And happy riding the Camel.


On Fri, Mar 16, 2012 at 3:46 AM, TheJBoss <jb...@gmail.com> wrote:
> --Issue Update--
> *Finally* figured out the issue.  The IBM MQ7 Queue Manager was configured
> to close all pooled JMS resources that have not been accessed for
> 5-minutes.  The MQ Connection Factory defined within the Websphere
> Application Server 7 container specified a minimum pool = 1, meaning that
> the container itself will always keep at least 1 Connection in the pool.
> After executing load, all of the connections in the pool were exercised and
> after 5-minutes, the QMgr would attempt to close *all* JMS resources that
> it had a reference to, which conflicted with the Connection Factory setting
> to maintain 1 Connection in the pool.
>
> Many thanks to everyone taking time out of their busy days to respond to my
> post!  Awesome book Claus, it was a great read, very informative.
>
> Thanks for the expert advice, please LMK where to send the Starbucks card.
>
> On Wed, Mar 14, 2012 at 3:50 AM, Claus Ibsen-2 [via Camel] <
> ml-node+s465427n5563923h86@n5.nabble.com> wrote:
>
>> Hi
>>
>> If you use Camel 2.9 then I suggest to take a look at the replyToType
>> option. And if your reply queue is only used by this application, then
>> you can configure the replyToType=Exclusive. This avoids using JMS
>> message selectors for the correlation task, which otherwise would have
>> to creates new consumers to pickup JMS message selector changes, as
>> you cannot adjust a JMS message selector on an existing JMS consumer.
>>
>> And you may take a look at tweaking the cache options as well.
>>
>>
>>
>> On Wed, Mar 14, 2012 at 4:10 AM, TheJBoss <[hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=0>>
>> wrote:
>>
>> > Hello, I am hoping that someone would be able to point out a
>> misconfiguration
>> > or something that needs to be added.  I am working on a WAS7/MQ6 project
>> > that ties a synchronous HTTP/SOAP service to a asynchronous IBM
>> Websphere MQ
>> > request/reply for purposes of exposing a mainframe transaction
>> > synchronously.  The service seems to be functioning fine and as
>> expected,
>> > however a few minutes after running a 10-concurrent load against the
>> > application I see the following exception in the logs:
>> >
>> > W   [:] CWSJY0003W: JMSCC3034: The exception is ignored as no exception
>> > listener is registered: '
>> >                       Message :
>> > com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
>> this
>> > connection has occurred. An error has occurred with the WebSphere MQ JMS
>> > connection. Use the linked exception to determine the cause of this
>> error.
>> >                         Class : class
>> > com.ibm.msg.client.jms.DetailedJMSException
>> >                         Stack :
>> >
>> com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
>>
>> >
>> >
>> > Futher analysis of the logs it appears that the
>> ConnectionFactory/Connection
>> > is not being handled correctly, either the connections are being closed
>> and
>> > they shouldn't be or they are not being closed and they should be???
>> >
>> > I'll toss a Starbucks gift card out there for some expert advice.
>> >
>> > Thanks in advance!
>> >
>> > ~Justin
>> >
>> >
>> >
>> > <beans xmlns="http://www.springframework.org/schema/beans"
>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> > xmlns:camel="http://camel.apache.org/schema/spring"
>> > xmlns:jee="http://www.springframework.org/schema/jee"
>> >        xsi:schemaLocation="http://www.springframework.org/schema/beans
>> >        http://www.springframework.org/schema/beans/spring-beans.xsd
>> >        http://camel.apache.org/schema/spring
>> >        http://camel.apache.org/schema/spring/camel-spring.xsd
>> >        http://www.springframework.org/schema/jee
>> > http://www.springframework.org/schema/jee/spring-jee-3.0.xsd ">
>> >
>> >        <bean id="mQDestinationResolver"
>> class="com.my.MQDestinationResolver" />
>> >
>> >
>> >
>> >        <jee:jndi-lookup id="connectionFactoryJndi"
>> > jndi-name="jms.ConnectionFactoryRef" />
>> >
>> >
>> >        <bean id="jms"
>> class="org.apache.camel.component.jms.JmsComponent">
>> >                <property name="connectionFactory"
>> ref="connectionFactoryJndi" />
>> >                <property name="destinationResolver"
>> ref="mQDestinationResolver" />
>> >                <property name="testConnectionOnStartup" value="true" />
>> >                <property name="concurrentConsumers" value="1" />
>> >                <property name="useMessageIDAsCorrelationID" value="true"
>> />
>> >                <property name="cacheLevelName" value="CACHE_NONE" />
>> >                <property name="cacheLevel" value="0" />
>> >                <property name="errorHandlerLogStackTrace" value="false"
>> />
>> >
>> >
>> >                <property name="replyToCacheLevelName" value="CACHE_NONE"
>> />
>> >        </bean>
>> >
>> >
>> >
>> >
>> >        <camelContext trace="false" useMDCLogging="true"
>> >                useBreadcrumb="false" xmlns="
>> http://camel.apache.org/schema/spring">
>> >
>> >                <camel:onException>
>> >
>>  <camel:exception>java.lang.Exception</camel:exception>
>> >                        <camel:handled>
>> >                                <camel:constant>true</camel:constant>
>> >                        </camel:handled>
>> >                        <camel:process ref="defaultExceptionProcessor" />
>> >                        <camel:marshal>
>> >                                <camel:soapjaxb
>> contextPath="my.jaxb.soap.annotated.package"
>> > encoding="UTF-8" />
>> >                        </camel:marshal>
>> >                </camel:onException>
>> >
>> >                <camel:route>
>> >                        <camel:from uri="servlet:///HTTPSoapEndpoint" />
>> >                        <camel:unmarshal>
>> >                                <camel:soapjaxb
>> contextPath="my.jaxb.soap.annotated.package"
>> > encoding="UTF-8" />
>> >                        </camel:unmarshal>
>> >                        <camel:process ref="httpXMLRequestProcessor" />
>> >
>> >                        <camel:choice>
>> >                                <camel:when>
>> >
>>  <camel:simple>${property.myBoolean}</camel:simple>
>> >                                        <camel:to uri="http4://SOAPURL"
>> />
>> >                                        <camel:convertBodyTo
>> type="java.lang.String" />
>> >                                </camel:when>
>> >                        </camel:choice>
>> >
>> >                        <camel:process ref="Processor1" />
>> >                        <camel:to uri="jms:RequestQ?replyTo=ReplyQ"
>> pattern="InOut" />
>> >                        <camel:process ref="Processor2" />
>> >                        <camel:marshal>
>> >                                <camel:soapjaxb
>> contextPath="my.jaxb.soap.annotated.package"
>> > encoding="UTF-8" />
>> >                        </camel:marshal>
>> >                </camel:route>
>> >
>> >        </camelContext>
>> >
>> > </beans>
>> >
>> >
>> >
>> > JMSXAppID=IMSJ    CUSMQS00            ,
>> > JMSType=null,
>> > JMSExpiration=1331685348768,
>> > JMSXGroupID=null,
>> > JMS_IBM_PutTime=00352903,
>> > JMSPriority=0,
>> > JMS_IBM_Encoding=785,
>> > JMS_IBM_Character_Set=IBM037,
>> > JMS_IBM_PutDate=20120314,
>> > JMSReplyTo=null,
>> > JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f252ba34c,
>> > JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94396fb9f26b826,
>> > JMSTimestamp=1331685329030,
>> > JMS_IBM_PutApplType=3,
>> > JMSXUserID=mqat        ,
>> > JMS_IBM_MsgType=2,
>> > JMSXDeliveryCount=1,
>> > JMSDeliveryMode=2,
>> > JMSDestination=null,
>> > JMS_IBM_Format=MQSTR   ,
>> > JMSRedelivered=false
>> >
>> >
>> >
>> > http://camel.465427.n5.nabble.com/file/n5563339/mqErrors.zip mqErrors.zip
>>
>> >
>> > --
>> > View this message in context:
>> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563339.html
>> > Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=1>
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563923.html
>>  To unsubscribe from Camel JMS Request/Reply with Websphere, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5095847&code=amJyYWF0aGVuQGdtYWlsLmNvbXw1MDk1ODQ3fDE4NTYzMjQ4ODQ=>
>> .
>> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5569844.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Camel JMS Request/Reply with Websphere

Posted by TheJBoss <jb...@gmail.com>.
--Issue Update--
*Finally* figured out the issue.  The IBM MQ7 Queue Manager was configured
to close all pooled JMS resources that have not been accessed for
5-minutes.  The MQ Connection Factory defined within the Websphere
Application Server 7 container specified a minimum pool = 1, meaning that
the container itself will always keep at least 1 Connection in the pool.
After executing load, all of the connections in the pool were exercised and
after 5-minutes, the QMgr would attempt to close *all* JMS resources that
it had a reference to, which conflicted with the Connection Factory setting
to maintain 1 Connection in the pool.

Many thanks to everyone taking time out of their busy days to respond to my
post!  Awesome book Claus, it was a great read, very informative.

Thanks for the expert advice, please LMK where to send the Starbucks card.

On Wed, Mar 14, 2012 at 3:50 AM, Claus Ibsen-2 [via Camel] <
ml-node+s465427n5563923h86@n5.nabble.com> wrote:

> Hi
>
> If you use Camel 2.9 then I suggest to take a look at the replyToType
> option. And if your reply queue is only used by this application, then
> you can configure the replyToType=Exclusive. This avoids using JMS
> message selectors for the correlation task, which otherwise would have
> to creates new consumers to pickup JMS message selector changes, as
> you cannot adjust a JMS message selector on an existing JMS consumer.
>
> And you may take a look at tweaking the cache options as well.
>
>
>
> On Wed, Mar 14, 2012 at 4:10 AM, TheJBoss <[hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=0>>
> wrote:
>
> > Hello, I am hoping that someone would be able to point out a
> misconfiguration
> > or something that needs to be added.  I am working on a WAS7/MQ6 project
> > that ties a synchronous HTTP/SOAP service to a asynchronous IBM
> Websphere MQ
> > request/reply for purposes of exposing a mainframe transaction
> > synchronously.  The service seems to be functioning fine and as
> expected,
> > however a few minutes after running a 10-concurrent load against the
> > application I see the following exception in the logs:
> >
> > W   [:] CWSJY0003W: JMSCC3034: The exception is ignored as no exception
> > listener is registered: '
> >                       Message :
> > com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
> this
> > connection has occurred. An error has occurred with the WebSphere MQ JMS
> > connection. Use the linked exception to determine the cause of this
> error.
> >                         Class : class
> > com.ibm.msg.client.jms.DetailedJMSException
> >                         Stack :
> >
> com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
>
> >
> >
> > Futher analysis of the logs it appears that the
> ConnectionFactory/Connection
> > is not being handled correctly, either the connections are being closed
> and
> > they shouldn't be or they are not being closed and they should be???
> >
> > I'll toss a Starbucks gift card out there for some expert advice.
> >
> > Thanks in advance!
> >
> > ~Justin
> >
> >
> >
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:camel="http://camel.apache.org/schema/spring"
> > xmlns:jee="http://www.springframework.org/schema/jee"
> >        xsi:schemaLocation="http://www.springframework.org/schema/beans
> >        http://www.springframework.org/schema/beans/spring-beans.xsd
> >        http://camel.apache.org/schema/spring
> >        http://camel.apache.org/schema/spring/camel-spring.xsd
> >        http://www.springframework.org/schema/jee
> > http://www.springframework.org/schema/jee/spring-jee-3.0.xsd ">
> >
> >        <bean id="mQDestinationResolver"
> class="com.my.MQDestinationResolver" />
> >
> >
> >
> >        <jee:jndi-lookup id="connectionFactoryJndi"
> > jndi-name="jms.ConnectionFactoryRef" />
> >
> >
> >        <bean id="jms"
> class="org.apache.camel.component.jms.JmsComponent">
> >                <property name="connectionFactory"
> ref="connectionFactoryJndi" />
> >                <property name="destinationResolver"
> ref="mQDestinationResolver" />
> >                <property name="testConnectionOnStartup" value="true" />
> >                <property name="concurrentConsumers" value="1" />
> >                <property name="useMessageIDAsCorrelationID" value="true"
> />
> >                <property name="cacheLevelName" value="CACHE_NONE" />
> >                <property name="cacheLevel" value="0" />
> >                <property name="errorHandlerLogStackTrace" value="false"
> />
> >
> >
> >                <property name="replyToCacheLevelName" value="CACHE_NONE"
> />
> >        </bean>
> >
> >
> >
> >
> >        <camelContext trace="false" useMDCLogging="true"
> >                useBreadcrumb="false" xmlns="
> http://camel.apache.org/schema/spring">
> >
> >                <camel:onException>
> >
>  <camel:exception>java.lang.Exception</camel:exception>
> >                        <camel:handled>
> >                                <camel:constant>true</camel:constant>
> >                        </camel:handled>
> >                        <camel:process ref="defaultExceptionProcessor" />
> >                        <camel:marshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:marshal>
> >                </camel:onException>
> >
> >                <camel:route>
> >                        <camel:from uri="servlet:///HTTPSoapEndpoint" />
> >                        <camel:unmarshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:unmarshal>
> >                        <camel:process ref="httpXMLRequestProcessor" />
> >
> >                        <camel:choice>
> >                                <camel:when>
> >
>  <camel:simple>${property.myBoolean}</camel:simple>
> >                                        <camel:to uri="http4://SOAPURL"
> />
> >                                        <camel:convertBodyTo
> type="java.lang.String" />
> >                                </camel:when>
> >                        </camel:choice>
> >
> >                        <camel:process ref="Processor1" />
> >                        <camel:to uri="jms:RequestQ?replyTo=ReplyQ"
> pattern="InOut" />
> >                        <camel:process ref="Processor2" />
> >                        <camel:marshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:marshal>
> >                </camel:route>
> >
> >        </camelContext>
> >
> > </beans>
> >
> >
> >
> > JMSXAppID=IMSJ    CUSMQS00            ,
> > JMSType=null,
> > JMSExpiration=1331685348768,
> > JMSXGroupID=null,
> > JMS_IBM_PutTime=00352903,
> > JMSPriority=0,
> > JMS_IBM_Encoding=785,
> > JMS_IBM_Character_Set=IBM037,
> > JMS_IBM_PutDate=20120314,
> > JMSReplyTo=null,
> > JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f252ba34c,
> > JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94396fb9f26b826,
> > JMSTimestamp=1331685329030,
> > JMS_IBM_PutApplType=3,
> > JMSXUserID=mqat        ,
> > JMS_IBM_MsgType=2,
> > JMSXDeliveryCount=1,
> > JMSDeliveryMode=2,
> > JMSDestination=null,
> > JMS_IBM_Format=MQSTR   ,
> > JMSRedelivered=false
> >
> >
> >
> > http://camel.465427.n5.nabble.com/file/n5563339/mqErrors.zip mqErrors.zip
>
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563339.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=1>
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563923.html
>  To unsubscribe from Camel JMS Request/Reply with Websphere, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5095847&code=amJyYWF0aGVuQGdtYWlsLmNvbXw1MDk1ODQ3fDE4NTYzMjQ4ODQ=>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5569844.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by TheJBoss <jb...@gmail.com>.
--Issue Update--
*Finally* figured out the issue.  The IBM MQ7 Queue Manager was configured
to close all pooled JMS resources that have not been accessed for
5-minutes.  The MQ Connection Factory defined within the Websphere
Application Server 7 container specified a minimum pool = 1, meaning that
the container itself will always keep at least 1 Connection in the pool.
After executing load, all of the connections in the pool were exercised and
after 5-minutes, the QMgr would attempt to close *all* JMS resources that
it had a reference to, which conflicted with the Connection Factory setting
to maintain 1 Connection in the pool.

Many thanks to everyone taking time out of their busy days to respond to my
post!  Awesome book Claus, it was a great read, very informative.

~Justin

On Wed, Mar 14, 2012 at 12:56 PM, Babak Vahdat [via Camel] <
ml-node+s465427n5565646h99@n5.nabble.com> wrote:

>
>
> Am 14.03.12 16:07 schrieb "TheJBoss" unter <[hidden email]<http://user/SendEmail.jtp?type=node&node=5565646&i=0>>:
>
>
> >I am still working on option [2] .
> >
> >When I attempt to register the exception listener[3], I get the exception
> >below.  Is there a special way of registering the listener for a WAS7 MQ
> >ConnectionFactory?
> >
> >
> ><bean id="smlc"
> >class="org.springframework.jms.listener.SimpleMessageListenerContainer">
> > <property name="connectionFactory" ref="connectionFactoryJndi" />
> > <property name="destinationName" value="CUS.SERVER.REQUEST" />
> ></bean>
>
> Just define a bean of yours implementing javax.jms.ExceptionListener:
>
>      <bean id="myExceptionListener" class="com.my.ExceptionListener" />
>
>
> Which would for example just log the thrown JMSException as error.
>
> And then inject it on your jms bean:
>
> <bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
> ...
>    <property name="exceptionListener" ref="myExceptionListener" />
>         </bean>
>
>
>
> >
> >
> ><property name="exceptionListener" ref="smlc" />
> >
> >[3/14/12 10:04:28:329 CDT] 00000024 ContextLoader E
> >org.springframework.web.context.ContextLoader initWebApplicationContext
> >Context initialization failed
> >
> >org.springframework.beans.factory.BeanCreationException: Error creating
> >bean
> >with name 'smlc' defined in ServletContext resource
> >[/WEB-INF/applicationContext.xml]: Invocation of init method failed;
> >nested
> >exception is org.springframework.jms.IllegalStateException: Method
> >setExceptionListener not permitted; nested exception is
> >javax.jms.IllegalStateException: Method setExceptionListener not
> permitted
> > at
> >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
>
> >ry.initializeBean(AbstractAutowireCapableBeanFactory.java:1422)
> >
> >--
> >View this message in context:
> >
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-t
> >p5095847p5565080.html
> >Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5565646.html
>  To unsubscribe from Camel JMS Request/Reply with Websphere, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5095847&code=amJyYWF0aGVuQGdtYWlsLmNvbXw1MDk1ODQ3fDE4NTYzMjQ4ODQ=>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5569758.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by Babak Vahdat <ba...@swissonline.ch>.

Am 14.03.12 16:07 schrieb "TheJBoss" unter <jb...@gmail.com>:

>I am still working on option [2] .
>
>When I attempt to register the exception listener[3], I get the exception
>below.  Is there a special way of registering the listener for a WAS7 MQ
>ConnectionFactory?
>
>
><bean id="smlc"
>class="org.springframework.jms.listener.SimpleMessageListenerContainer">	
>		<property name="connectionFactory" ref="connectionFactoryJndi" />	
>		<property name="destinationName" value="CUS.SERVER.REQUEST" />
></bean>

Just define a bean of yours implementing javax.jms.ExceptionListener:

     <bean id="myExceptionListener" class="com.my.ExceptionListener" />


Which would for example just log the thrown JMSException as error.
 
And then inject it on your jms bean:

<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
...
   <property name="exceptionListener" ref="myExceptionListener" />
        </bean>



>
>
><property name="exceptionListener" ref="smlc" />
>
>[3/14/12 10:04:28:329 CDT] 00000024 ContextLoader E
>org.springframework.web.context.ContextLoader initWebApplicationContext
>Context initialization failed
>                  
>org.springframework.beans.factory.BeanCreationException: Error creating
>bean
>with name 'smlc' defined in ServletContext resource
>[/WEB-INF/applicationContext.xml]: Invocation of init method failed;
>nested
>exception is org.springframework.jms.IllegalStateException: Method
>setExceptionListener not permitted; nested exception is
>javax.jms.IllegalStateException: Method setExceptionListener not permitted
>	at
>org.springframework.beans.factory.support.AbstractAutowireCapableBeanFacto
>ry.initializeBean(AbstractAutowireCapableBeanFactory.java:1422)
>
>--
>View this message in context:
>http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-t
>p5095847p5565080.html
>Sent from the Camel - Users mailing list archive at Nabble.com.



Re: Camel JMS Request/Reply with Websphere

Posted by TheJBoss <jb...@gmail.com>.
I am still working on option [2] .

When I attempt to register the exception listener[3], I get the exception
below.  Is there a special way of registering the listener for a WAS7 MQ
ConnectionFactory?


<bean id="smlc"
class="org.springframework.jms.listener.SimpleMessageListenerContainer">	
		<property name="connectionFactory" ref="connectionFactoryJndi" />	
		<property name="destinationName" value="CUS.SERVER.REQUEST" />
</bean>


<property name="exceptionListener" ref="smlc" />

[3/14/12 10:04:28:329 CDT] 00000024 ContextLoader E
org.springframework.web.context.ContextLoader initWebApplicationContext
Context initialization failed
                                
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'smlc' defined in ServletContext resource
[/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested
exception is org.springframework.jms.IllegalStateException: Method
setExceptionListener not permitted; nested exception is
javax.jms.IllegalStateException: Method setExceptionListener not permitted
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1422)

--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5565080.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by Babak Vahdat <ba...@swissonline.ch>.
Hi

If you see Logs like:

   CWSJY0003W: ActivationSpec '<name>' reconnected successfully.

Right afterwards, then you can safely ignore [1] these error logs.
Otherwise look at [2] to see how to resolve this. My assumption is
that your case is most likely [2] and not necessarily [1] because
you get the followings as well:

   CC=2;RC=2009;AMQ9208: Error on receive from host...

I also propose you to make use of exceptionListener option [3] as well
so that WebSphere MQ doesn't complain about a missing listener:

   CWSJY0003W: JMSCC3034: The exception is ignored as no exception listener
is registered

[1] http://www-01.ibm.com/support/docview.wss?uid=swg21412761
[2] http://www-01.ibm.com/support/docview.wss?uid=swg1IV00348
[3] http://camel.apache.org/jms#JMS-Alltheotheroptions

PS: I love Google :-)

Babak


--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5564702.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by TheJBoss <jb...@gmail.com>.
Claus,
Thank you very much for the prompt reply.  I tried setting the replyToType
to Exclusive and replyToCacheLevelName to "CACHE_NONE" and I am getting the
same behavior several minutes after running a 5-minute 10-concurrent load.

Is there a way that I could verify that the Connection is being properly
closed after each request?  Possibly override it with my own Connection
closing?

This doesn't seem to effect the application, however generates an enourmous
amount of logs.

Thanks in advance
~Justin


[Properties:
[{CamelToEndpoint=jms://CUS.SERVER.REQUEST?replyTo=CUS.CUSMQSRV.REPLY&replyToType=Exclusive,
CamelCreatedTimestamp=Wed Mar 14 07:28:02 CDT 2012, isNNumber=false,
requestBean=com.lmig.lmac.aces.clientlist.model.GetClientListIDGRequest@166e166e,
CamelCharsetName=UTF-8}]]  [HeaderIn: [{JMS_IBM_PutTime=12280536,
JMSPriority=0, JMS_IBM_Encoding=785, JMS_IBM_Character_Set=IBM037,
JMS_IBM_PutDate=20120314, JMSReplyTo=null,
JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f25536058,
JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94436433c087d24,
JMSTimestamp=1331728085360, JMS_IBM_PutApplType=3, JMSXUserID=mqat        ,
JMS_IBM_MsgType=2, JMSXDeliveryCount=1, JMSDeliveryMode=2,
JMSDestination=null, JMS_IBM_Format=MQSTR   , JMSRedelivered=false,
JMSXAppID=IMSJ    CUSMQS00            , JMSType=null,
JMSExpiration=1331728105012, JMSXGroupID=null}]] [HeaderOut: [{}]]




SibMessage    W   [:] CWSJY0003W: JMSCC3036: An exception has been
delivered to the connections exception listener: '
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:00:383 CDT] 00000027 SibMessage    W   [:] CWSJY0003W:
JMSCC3036: An exception has been delivered to the connections exception
listener: '
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:00:383 CDT] 00000026 SibMessage    W   [:] CWSJY0003W:
JMSCC3036: An exception has been delivered to the connections exception
listener: '
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:00:384 CDT] 00000029 SibMessage    W   [:] CWSJY0003W:
JMSCC3036: An exception has been delivered to the connections exception
listener: '
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQConnection.consumer(WMQConnection.java:834)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.callEventHandler(RemoteAsyncConsume.java:1021)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveEventsEH(RemoteAsyncConsume.java:1379)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:309)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:01:501 CDT] 0000001b ConnectionEve W   J2CA0206W: A
connection error occurred.  To help determine the problem, enable the
Diagnose Connection Usage option on the Connection Factory or Data Source.
[3/14/12 7:21:01:504 CDT] 0000001b ConnectionEve A   J2CA0056I: The
Connection Manager received a fatal connection error from the Resource
Adapter for resource jms.cf.ClientListCF. The exception is:
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.:com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with
compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
[3/14/12 7:21:01:508 CDT] 0000001b SibMessage    W   [:] CWSJY0003W:
JMSCC3034: The exception is ignored as no exception listener is registered:
'
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:757)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsConnectionImpl.close(JmsConnectionImpl.java:294)
                               :
com.ibm.mq.jms.MQConnection.close(MQConnection.java:98)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1154)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:757)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsConnectionImpl.close(JmsConnectionImpl.java:294)
                               :
com.ibm.mq.jms.MQConnection.close(MQConnection.java:98)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1154)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [2] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
                         Class : class com.ibm.mq.jmqi.JmqiException
                         Stack :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:473)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:395)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:370)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteFAP.MQDISC(RemoteFAP.java:2551)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:745)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsConnectionImpl.close(JmsConnectionImpl.java:294)
                               :
com.ibm.mq.jms.MQConnection.close(MQConnection.java:98)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1154)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [3] --> Message : com.ibm.mq.jmqi.JmqiException:
CC=2;RC=2009;AMQ9208: Error on receive from host '
mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com)'. [1=-1,2=ffffffff,3=
mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com),4=TCP]
                         Class : class com.ibm.mq.jmqi.JmqiException
                         Stack :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveBuffer(RemoteRcvThread.java:787)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveOneTSH(RemoteRcvThread.java:727)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.run(RemoteRcvThread.java:147)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:01:512 CDT] 0000001b FfdcProvider  W
com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident
emitted on C:\Program
Files\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\ffdc\server1_4bfd4bfd_12.03.14_07.21.01.5099205217446084970211.txt
com.ibm.ejs.jms.JMSManagedConnection.destroy 498
[3/14/12 7:21:02:164 CDT] 0000001b SibMessage    W   [:] CWSJY0003W:
JMSCC3034: The exception is ignored as no exception listener is registered:
'
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
this connection has occurred. An error has occurred with the WebSphere MQ
JMS connection. Use the linked exception to determine the cause of this
error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
                               :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:757)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:286)
                               :
com.ibm.mq.jms.MQSession.close(MQSession.java:195)
                               :
com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:555)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyAllFreeConnections(FreePool.java:2494)
                               :
com.ibm.ejs.j2c.PoolManager.quiesceIfPossible(PoolManager.java:5349)
                               :
com.ibm.ejs.j2c.ConnectionFactoryDetailsImpl.stop(ConnectionFactoryDetailsImpl.java:453)
                               :
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.freeConnectionFactory(ConnectionFactoryBuilderServerImpl.java:1295)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1181)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [1] --> Message : com.ibm.mq.MQException: JMSCMQ0001:
WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009'
('MQRC_CONNECTION_BROKEN').
                         Class : class com.ibm.mq.MQException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:757)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:286)
                               :
com.ibm.mq.jms.MQSession.close(MQSession.java:195)
                               :
com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:555)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyAllFreeConnections(FreePool.java:2494)
                               :
com.ibm.ejs.j2c.PoolManager.quiesceIfPossible(PoolManager.java:5349)
                               :
com.ibm.ejs.j2c.ConnectionFactoryDetailsImpl.stop(ConnectionFactoryDetailsImpl.java:453)
                               :
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.freeConnectionFactory(ConnectionFactoryBuilderServerImpl.java:1295)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1181)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [2] --> Message : com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
                         Class : class com.ibm.mq.jmqi.JmqiException
                         Stack :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:473)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:395)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:370)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteFAP.MQDISC(RemoteFAP.java:2551)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:745)
                               :
com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
                               :
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:286)
                               :
com.ibm.mq.jms.MQSession.close(MQSession.java:195)
                               :
com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:555)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyAllFreeConnections(FreePool.java:2494)
                               :
com.ibm.ejs.j2c.PoolManager.quiesceIfPossible(PoolManager.java:5349)
                               :
com.ibm.ejs.j2c.ConnectionFactoryDetailsImpl.stop(ConnectionFactoryDetailsImpl.java:453)
                               :
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.freeConnectionFactory(ConnectionFactoryBuilderServerImpl.java:1295)
                               :
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1181)
                               :
com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
                               :
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
                               :
com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
                               :
com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
                               :
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
                               :
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
                               :
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
                               :
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
                               :
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
                               : java.lang.Thread.run(Thread.java:736)
     Caused by [3] --> Message : com.ibm.mq.jmqi.JmqiException:
CC=2;RC=2009;AMQ9208: Error on receive from host '
mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com)'. [1=-1,2=ffffffff,3=
mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com),4=TCP]
                         Class : class com.ibm.mq.jmqi.JmqiException
                         Stack :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveBuffer(RemoteRcvThread.java:787)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveOneTSH(RemoteRcvThread.java:727)
                               :
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.run(RemoteRcvThread.java:147)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
                               :
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
                               :
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
                               :
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
                               : java.lang.Thread.run(Thread.java:736)
'.
[3/14/12 7:21:02:169 CDT] 0000001b FfdcProvider  W
com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident
emitted on C:\Program
Files\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\ffdc\server1_4bfd4bfd_12.03.14_07.21.02.1658741475777794006708.txt
com.ibm.ejs.jms.JMSManagedSession.destroy 471
[3/14/12 7:21:02:224 CDT] 0000001b FfdcProvider  W
com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident
emitted on C:\Program
Files\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\ffdc\server1_4bfd4bfd_12.03.14_07.21.02.1695650001311868285886.txt
com.ibm.ejs.j2c.MCWrapper.destroy 791
[3/14/12 7:21:02:225 CDT] 0000001b MCWrapper     E   J2CA0081E: Method
destroy failed while trying to execute method destroy on ManagedConnection
com.ibm.ejs.jms.JMSManagedSession@36253625
    physical session = com.ibm.mq.jms.MQSession@44c444c4
    session type = NON_TRANSACTED_SESSION
    acknowledge mode = AUTO_ACKNOWLEDGE
    enlisted = false
    open session handles = []
    managed session factory =
com.ibm.ejs.jms.JMSManagedSessionFactory@2b4e2b4e from resource No longer
available. Caught exception:
javax.resource.spi.ResourceAdapterInternalException: Failed to close session
    at
com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:176)
    at com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:560)
    at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
    at
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
    at
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyAllFreeConnections(FreePool.java:2494)
    at com.ibm.ejs.j2c.PoolManager.quiesceIfPossible(PoolManager.java:5349)
    at
com.ibm.ejs.j2c.ConnectionFactoryDetailsImpl.stop(ConnectionFactoryDetailsImpl.java:453)
    at
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.freeConnectionFactory(ConnectionFactoryBuilderServerImpl.java:1295)
    at
com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:1181)
    at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1855)
    at
com.ibm.ejs.j2c.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:741)
    at com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:889)
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2209)
    at
com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1063)
    at
com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:700)
    at
com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:255)
    at
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
    at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:298)
    at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
    at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
    at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
    at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
    at java.lang.Thread.run(Thread.java:736)
Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0019: Failed
to disconnect from queue manager 'MQT_DVJ10' using connection mode '1' and
host name 'mqt-dvj10-dev.mqa.apps.safeco.com(1414)'. Please see the linked
exception for more information.
    at
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
    at
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
    at
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:767)
    at com.ibm.msg.client.wmq.internal.WMQSession.close(WMQSession.java:717)
    at
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:492)
    at
com.ibm.msg.client.jms.internal.JmsSessionImpl.close(JmsSessionImpl.java:286)
    at com.ibm.mq.jms.MQSession.close(MQSession.java:195)
    at com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:555)
    ... 21 more
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed
with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
    at
com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
    ... 27 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
    at
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:473)
    at
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:395)
    at
com.ibm.mq.jmqi.remote.internal.RemoteHconn.enterCall(RemoteHconn.java:370)
    at com.ibm.mq.jmqi.remote.internal.RemoteFAP.MQDISC(RemoteFAP.java:2551)
    at
com.ibm.msg.client.wmq.internal.WMQSession.disconnect(WMQSession.java:745)
    ... 26 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9208: Error on
receive from host 'mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com)'. [1=-1,2=ffffffff,3=
mqt-dvj10-dev.mqa.apps.safeco.com/168.147.218.127:1414 (
mqt-dvj10-dev.mqa.apps.safeco.com),4=TCP]
    at
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveBuffer(RemoteRcvThread.java:787)
    at
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.receiveOneTSH(RemoteRcvThread.java:727)
    at
com.ibm.mq.jmqi.remote.internal.RemoteRcvThread.run(RemoteRcvThread.java:147)
    at
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209)
    at
com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100)
    at
com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224)
    at
com.ibm.ws.wmqcsi.workqueue.WorkQueueManagerImpl$WorkQueueRunnable.run(WorkQueueManagerImpl.java:648)
    ... 1 more

On Wed, Mar 14, 2012 at 3:50 AM, Claus Ibsen-2 [via Camel] <
ml-node+s465427n5563923h86@n5.nabble.com> wrote:

> Hi
>
> If you use Camel 2.9 then I suggest to take a look at the replyToType
> option. And if your reply queue is only used by this application, then
> you can configure the replyToType=Exclusive. This avoids using JMS
> message selectors for the correlation task, which otherwise would have
> to creates new consumers to pickup JMS message selector changes, as
> you cannot adjust a JMS message selector on an existing JMS consumer.
>
> And you may take a look at tweaking the cache options as well.
>
>
>
> On Wed, Mar 14, 2012 at 4:10 AM, TheJBoss <[hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=0>>
> wrote:
>
> > Hello, I am hoping that someone would be able to point out a
> misconfiguration
> > or something that needs to be added.  I am working on a WAS7/MQ6 project
> > that ties a synchronous HTTP/SOAP service to a asynchronous IBM
> Websphere MQ
> > request/reply for purposes of exposing a mainframe transaction
> > synchronously.  The service seems to be functioning fine and as
> expected,
> > however a few minutes after running a 10-concurrent load against the
> > application I see the following exception in the logs:
> >
> > W   [:] CWSJY0003W: JMSCC3034: The exception is ignored as no exception
> > listener is registered: '
> >                       Message :
> > com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with
> this
> > connection has occurred. An error has occurred with the WebSphere MQ JMS
> > connection. Use the linked exception to determine the cause of this
> error.
> >                         Class : class
> > com.ibm.msg.client.jms.DetailedJMSException
> >                         Stack :
> >
> com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
>
> >
> >
> > Futher analysis of the logs it appears that the
> ConnectionFactory/Connection
> > is not being handled correctly, either the connections are being closed
> and
> > they shouldn't be or they are not being closed and they should be???
> >
> > I'll toss a Starbucks gift card out there for some expert advice.
> >
> > Thanks in advance!
> >
> > ~Justin
> >
> >
> >
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:camel="http://camel.apache.org/schema/spring"
> > xmlns:jee="http://www.springframework.org/schema/jee"
> >        xsi:schemaLocation="http://www.springframework.org/schema/beans
> >        http://www.springframework.org/schema/beans/spring-beans.xsd
> >        http://camel.apache.org/schema/spring
> >        http://camel.apache.org/schema/spring/camel-spring.xsd
> >        http://www.springframework.org/schema/jee
> > http://www.springframework.org/schema/jee/spring-jee-3.0.xsd ">
> >
> >        <bean id="mQDestinationResolver"
> class="com.my.MQDestinationResolver" />
> >
> >
> >
> >        <jee:jndi-lookup id="connectionFactoryJndi"
> > jndi-name="jms.ConnectionFactoryRef" />
> >
> >
> >        <bean id="jms"
> class="org.apache.camel.component.jms.JmsComponent">
> >                <property name="connectionFactory"
> ref="connectionFactoryJndi" />
> >                <property name="destinationResolver"
> ref="mQDestinationResolver" />
> >                <property name="testConnectionOnStartup" value="true" />
> >                <property name="concurrentConsumers" value="1" />
> >                <property name="useMessageIDAsCorrelationID" value="true"
> />
> >                <property name="cacheLevelName" value="CACHE_NONE" />
> >                <property name="cacheLevel" value="0" />
> >                <property name="errorHandlerLogStackTrace" value="false"
> />
> >
> >
> >                <property name="replyToCacheLevelName" value="CACHE_NONE"
> />
> >        </bean>
> >
> >
> >
> >
> >        <camelContext trace="false" useMDCLogging="true"
> >                useBreadcrumb="false" xmlns="
> http://camel.apache.org/schema/spring">
> >
> >                <camel:onException>
> >
>  <camel:exception>java.lang.Exception</camel:exception>
> >                        <camel:handled>
> >                                <camel:constant>true</camel:constant>
> >                        </camel:handled>
> >                        <camel:process ref="defaultExceptionProcessor" />
> >                        <camel:marshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:marshal>
> >                </camel:onException>
> >
> >                <camel:route>
> >                        <camel:from uri="servlet:///HTTPSoapEndpoint" />
> >                        <camel:unmarshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:unmarshal>
> >                        <camel:process ref="httpXMLRequestProcessor" />
> >
> >                        <camel:choice>
> >                                <camel:when>
> >
>  <camel:simple>${property.myBoolean}</camel:simple>
> >                                        <camel:to uri="http4://SOAPURL"
> />
> >                                        <camel:convertBodyTo
> type="java.lang.String" />
> >                                </camel:when>
> >                        </camel:choice>
> >
> >                        <camel:process ref="Processor1" />
> >                        <camel:to uri="jms:RequestQ?replyTo=ReplyQ"
> pattern="InOut" />
> >                        <camel:process ref="Processor2" />
> >                        <camel:marshal>
> >                                <camel:soapjaxb
> contextPath="my.jaxb.soap.annotated.package"
> > encoding="UTF-8" />
> >                        </camel:marshal>
> >                </camel:route>
> >
> >        </camelContext>
> >
> > </beans>
> >
> >
> >
> > JMSXAppID=IMSJ    CUSMQS00            ,
> > JMSType=null,
> > JMSExpiration=1331685348768,
> > JMSXGroupID=null,
> > JMS_IBM_PutTime=00352903,
> > JMSPriority=0,
> > JMS_IBM_Encoding=785,
> > JMS_IBM_Character_Set=IBM037,
> > JMS_IBM_PutDate=20120314,
> > JMSReplyTo=null,
> > JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f252ba34c,
> > JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94396fb9f26b826,
> > JMSTimestamp=1331685329030,
> > JMS_IBM_PutApplType=3,
> > JMSXUserID=mqat        ,
> > JMS_IBM_MsgType=2,
> > JMSXDeliveryCount=1,
> > JMSDeliveryMode=2,
> > JMSDestination=null,
> > JMS_IBM_Format=MQSTR   ,
> > JMSRedelivered=false
> >
> >
> >
> > http://camel.465427.n5.nabble.com/file/n5563339/mqErrors.zip mqErrors.zip
>
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563339.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=5563923&i=1>
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563923.html
>  To unsubscribe from Camel JMS Request/Reply with Websphere, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5095847&code=amJyYWF0aGVuQGdtYWlsLmNvbXw1MDk1ODQ3fDE4NTYzMjQ4ODQ=>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5564500.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

If you use Camel 2.9 then I suggest to take a look at the replyToType
option. And if your reply queue is only used by this application, then
you can configure the replyToType=Exclusive. This avoids using JMS
message selectors for the correlation task, which otherwise would have
to creates new consumers to pickup JMS message selector changes, as
you cannot adjust a JMS message selector on an existing JMS consumer.

And you may take a look at tweaking the cache options as well.



On Wed, Mar 14, 2012 at 4:10 AM, TheJBoss <jb...@gmail.com> wrote:
> Hello, I am hoping that someone would be able to point out a misconfiguration
> or something that needs to be added.  I am working on a WAS7/MQ6 project
> that ties a synchronous HTTP/SOAP service to a asynchronous IBM Websphere MQ
> request/reply for purposes of exposing a mainframe transaction
> synchronously.  The service seems to be functioning fine and as expected,
> however a few minutes after running a 10-concurrent load against the
> application I see the following exception in the logs:
>
> W   [:] CWSJY0003W: JMSCC3034: The exception is ignored as no exception
> listener is registered: '
>                       Message :
> com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with this
> connection has occurred. An error has occurred with the WebSphere MQ JMS
> connection. Use the linked exception to determine the cause of this error.
>                         Class : class
> com.ibm.msg.client.jms.DetailedJMSException
>                         Stack :
> com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
>
>
> Futher analysis of the logs it appears that the ConnectionFactory/Connection
> is not being handled correctly, either the connections are being closed and
> they shouldn't be or they are not being closed and they should be???
>
> I'll toss a Starbucks gift card out there for some expert advice.
>
> Thanks in advance!
>
> ~Justin
>
>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:camel="http://camel.apache.org/schema/spring"
> xmlns:jee="http://www.springframework.org/schema/jee"
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>        http://www.springframework.org/schema/beans/spring-beans.xsd
>        http://camel.apache.org/schema/spring
>        http://camel.apache.org/schema/spring/camel-spring.xsd
>        http://www.springframework.org/schema/jee
> http://www.springframework.org/schema/jee/spring-jee-3.0.xsd ">
>
>        <bean id="mQDestinationResolver" class="com.my.MQDestinationResolver" />
>
>
>
>        <jee:jndi-lookup id="connectionFactoryJndi"
> jndi-name="jms.ConnectionFactoryRef" />
>
>
>        <bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
>                <property name="connectionFactory" ref="connectionFactoryJndi" />
>                <property name="destinationResolver" ref="mQDestinationResolver" />
>                <property name="testConnectionOnStartup" value="true" />
>                <property name="concurrentConsumers" value="1" />
>                <property name="useMessageIDAsCorrelationID" value="true" />
>                <property name="cacheLevelName" value="CACHE_NONE" />
>                <property name="cacheLevel" value="0" />
>                <property name="errorHandlerLogStackTrace" value="false" />
>
>
>                <property name="replyToCacheLevelName" value="CACHE_NONE" />
>        </bean>
>
>
>
>
>        <camelContext trace="false" useMDCLogging="true"
>                useBreadcrumb="false" xmlns="http://camel.apache.org/schema/spring">
>
>                <camel:onException>
>                        <camel:exception>java.lang.Exception</camel:exception>
>                        <camel:handled>
>                                <camel:constant>true</camel:constant>
>                        </camel:handled>
>                        <camel:process ref="defaultExceptionProcessor" />
>                        <camel:marshal>
>                                <camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
> encoding="UTF-8" />
>                        </camel:marshal>
>                </camel:onException>
>
>                <camel:route>
>                        <camel:from uri="servlet:///HTTPSoapEndpoint" />
>                        <camel:unmarshal>
>                                <camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
> encoding="UTF-8" />
>                        </camel:unmarshal>
>                        <camel:process ref="httpXMLRequestProcessor" />
>
>                        <camel:choice>
>                                <camel:when>
>                                        <camel:simple>${property.myBoolean}</camel:simple>
>                                        <camel:to uri="http4://SOAPURL" />
>                                        <camel:convertBodyTo type="java.lang.String" />
>                                </camel:when>
>                        </camel:choice>
>
>                        <camel:process ref="Processor1" />
>                        <camel:to uri="jms:RequestQ?replyTo=ReplyQ" pattern="InOut" />
>                        <camel:process ref="Processor2" />
>                        <camel:marshal>
>                                <camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
> encoding="UTF-8" />
>                        </camel:marshal>
>                </camel:route>
>
>        </camelContext>
>
> </beans>
>
>
>
> JMSXAppID=IMSJ    CUSMQS00            ,
> JMSType=null,
> JMSExpiration=1331685348768,
> JMSXGroupID=null,
> JMS_IBM_PutTime=00352903,
> JMSPriority=0,
> JMS_IBM_Encoding=785,
> JMS_IBM_Character_Set=IBM037,
> JMS_IBM_PutDate=20120314,
> JMSReplyTo=null,
> JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f252ba34c,
> JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94396fb9f26b826,
> JMSTimestamp=1331685329030,
> JMS_IBM_PutApplType=3,
> JMSXUserID=mqat        ,
> JMS_IBM_MsgType=2,
> JMSXDeliveryCount=1,
> JMSDeliveryMode=2,
> JMSDestination=null,
> JMS_IBM_Format=MQSTR   ,
> JMSRedelivered=false
>
>
>
> http://camel.465427.n5.nabble.com/file/n5563339/mqErrors.zip mqErrors.zip
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563339.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Camel JMS Request/Reply with Websphere

Posted by TheJBoss <jb...@gmail.com>.
Hello, I am hoping that someone would be able to point out a misconfiguration
or something that needs to be added.  I am working on a WAS7/MQ6 project
that ties a synchronous HTTP/SOAP service to a asynchronous IBM Websphere MQ
request/reply for purposes of exposing a mainframe transaction
synchronously.  The service seems to be functioning fine and as expected,
however a few minutes after running a 10-concurrent load against the
application I see the following exception in the logs:

W   [:] CWSJY0003W: JMSCC3034: The exception is ignored as no exception
listener is registered: '
                       Message :
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ1107: A problem with this
connection has occurred. An error has occurred with the WebSphere MQ JMS
connection. Use the linked exception to determine the cause of this error.
                         Class : class
com.ibm.msg.client.jms.DetailedJMSException
                         Stack :
com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)


Futher analysis of the logs it appears that the ConnectionFactory/Connection
is not being handled correctly, either the connections are being closed and
they shouldn't be or they are not being closed and they should be???

I'll toss a Starbucks gift card out there for some expert advice.

Thanks in advance!

~Justin



<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans.xsd 
	http://camel.apache.org/schema/spring 
	http://camel.apache.org/schema/spring/camel-spring.xsd 
	http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd ">

	<bean id="mQDestinationResolver" class="com.my.MQDestinationResolver" />

	
	
	<jee:jndi-lookup id="connectionFactoryJndi"
jndi-name="jms.ConnectionFactoryRef" />

	
	<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
		<property name="connectionFactory" ref="connectionFactoryJndi" />
		<property name="destinationResolver" ref="mQDestinationResolver" />
		<property name="testConnectionOnStartup" value="true" />
		<property name="concurrentConsumers" value="1" />
		<property name="useMessageIDAsCorrelationID" value="true" />	
		<property name="cacheLevelName" value="CACHE_NONE" />
		<property name="cacheLevel" value="0" />
		<property name="errorHandlerLogStackTrace" value="false" />
		

		<property name="replyToCacheLevelName" value="CACHE_NONE" />
	</bean>

	

	
	<camelContext trace="false" useMDCLogging="true" 
		useBreadcrumb="false" xmlns="http://camel.apache.org/schema/spring">

		<camel:onException>
			<camel:exception>java.lang.Exception</camel:exception>
			<camel:handled>
				<camel:constant>true</camel:constant>
			</camel:handled>
			<camel:process ref="defaultExceptionProcessor" />
			<camel:marshal>
				<camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
encoding="UTF-8" />
			</camel:marshal>
		</camel:onException>

		<camel:route>
			<camel:from uri="servlet:///HTTPSoapEndpoint" />
			<camel:unmarshal>
				<camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
encoding="UTF-8" />
			</camel:unmarshal>			
			<camel:process ref="httpXMLRequestProcessor" />
			
			<camel:choice>
				<camel:when>
					<camel:simple>${property.myBoolean}</camel:simple>
					<camel:to uri="http4://SOAPURL" />
					<camel:convertBodyTo type="java.lang.String" />
				</camel:when>
			</camel:choice>
			
			<camel:process ref="Processor1" />
			<camel:to uri="jms:RequestQ?replyTo=ReplyQ" pattern="InOut" />
			<camel:process ref="Processor2" />
			<camel:marshal>
				<camel:soapjaxb contextPath="my.jaxb.soap.annotated.package"
encoding="UTF-8" />
			</camel:marshal>
		</camel:route>

	</camelContext>

</beans>



JMSXAppID=IMSJ    CUSMQS00            ,
JMSType=null,
JMSExpiration=1331685348768,
JMSXGroupID=null,
JMS_IBM_PutTime=00352903,
JMSPriority=0,
JMS_IBM_Encoding=785,
JMS_IBM_Character_Set=IBM037,
JMS_IBM_PutDate=20120314,
JMSReplyTo=null,
JMSCorrelationID=ID:414d51204d51545f44564a3130202020bfb2494f252ba34c,
JMSMessageID=ID:c3e2d840d4d8e3d14040404040404040c94396fb9f26b826,
JMSTimestamp=1331685329030,
JMS_IBM_PutApplType=3,
JMSXUserID=mqat        ,
JMS_IBM_MsgType=2,
JMSXDeliveryCount=1,
JMSDeliveryMode=2,
JMSDestination=null,
JMS_IBM_Format=MQSTR   ,
JMSRedelivered=false



http://camel.465427.n5.nabble.com/file/n5563339/mqErrors.zip mqErrors.zip 

--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5563339.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by mattmadhavan <ma...@yahoo.com>.
Hi Mark,
I'm in the process of doing the same thing like you are with WAS. Can you
please share your configuration with me in more detail please? I would like
to see the Java DSL and other details if possible!

Thanks in advance!

Matt


--
View this message in context: http://camel.465427.n5.nabble.com/Camel-JMS-Request-Reply-with-Websphere-tp5095847p5112816.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel JMS Request/Reply with Websphere

Posted by Mark Borner <ma...@zurich.com.au>.
Sorry, the logged error message stating 'temporary' was from when I was 
testing a temporary reply queue.  The error message is the same if I used 
a fixed reply queue name.

I have created Jira CAMEL-4839. 

Thanks,
Mark

Mark Borner
Java Developer - ZStream Xpress




From:
Claus Ibsen <cl...@gmail.com>
To:
users@camel.apache.org
Date:
23/12/2011 06:40 PM
Subject:
Re: Camel JMS Request/Reply with Websphere



Hi


On Thu, Dec 22, 2011 at 11:46 PM, Mark Borner 
<ma...@zurich.com.au>wrote:

>
> Hello:
>
> I'm trying to use Camel (v 2.6.0) JMS Request/Reply with Websphere 7 
using
> Websphere MQ.  I'm successfully able to put the request message onto the
> queue using the following URI:
>
>
> 
jms:queue:inboundQueue?connectionFactory=#connectionFactory&taskExecutor=#taskExecutor&transactionManager=#transactionManager&cacheLevelName=CACHE_NONE&replyTo=outboundQueue&requestTimeout=120000
>
> Note: I have to use cacheLevelName=CACHE_NONE in order for this to work 
on
> Websphere.
>
> However, when Camel creates the PersistentQueueMessageListenerContainer 
to
> read the reply message, it is hard coding the cache level to 
CACHE_SESSION
> (see PersistentQueueReplyManager.java line 192).  What happens is that
> Camel is successfully able to read the reply off the queue, but then 
spits
> out the following error repeatedly:
>
> 23 Dec 2011 09:23:32,427|||WorkManager.DefaultWorkManager : 3||WARN
> |org.springframework.jms.listener.DefaultMessageListenerContainer|Setup 
of
> JMS message listener invoker failed for destination 'temporary' - trying 
to
> recover. Cause: Connection closed
>
>
If you use fixed reply to queue's then why do you use 'temporary' as queue
name?



> I believe this is due to the PersistentQueueMessageListenerContainer 
using
> a cache level of CACHE_SESSION instead of CACHE_NONE.
>
> Can you please confirm there is no way to set the cache level on the
> PersistentQueueMessageListenerContainer that Camel creates?
>
>
This cannot be configured. Feel free to create a JIRA ticket to enhance
this.



> Can Camel be enhanced to either a) use the cache level from the request
> queue, or b) have the ability to set the cache level on the reply queue?
>
>
It should be option b, so you can configure both of them individually.



>  Thanks,
> Mark
>
> Mark Borner
> Java Developer - ZStream Xpress
>
>
>
>
> ----
> This email is intended for the named recipient only. It may contain
> information which is confidential, commercially sensitive, or
> copyright. If you are not the intended recipient you must not
> reproduce or distribute any part of the email, disclose its contents,
> or take any action in reliance. If you have received this email in
> error, please contact the sender and delete the message. It is your
> responsibility to scan this email and any attachments for viruses and
> other defects. To the extent permitted by law, Zurich and its
> associates will not be liable for any loss or damage arising in any
> way from this communication including any file attachments. We may
> monitor email you send to us, either as a reply to this email or any
> email you send to us, to confirm our systems are protected and for
> compliance with company policies. Although we take reasonable
> precautions to protect the confidentiality of our email systems, we
> do not warrant the confidentiality or security of email or
> attachments we receive.
>
>


-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/








----
This email is intended for the named recipient only. It may contain 
information which is confidential, commercially sensitive, or 
copyright. If you are not the intended recipient you must not 
reproduce or distribute any part of the email, disclose its contents, 
or take any action in reliance. If you have received this email in 
error, please contact the sender and delete the message. It is your 
responsibility to scan this email and any attachments for viruses and 
other defects. To the extent permitted by law, Zurich and its 
associates will not be liable for any loss or damage arising in any 
way from this communication including any file attachments. We may 
monitor email you send to us, either as a reply to this email or any 
email you send to us, to confirm our systems are protected and for 
compliance with company policies. Although we take reasonable 
precautions to protect the confidentiality of our email systems, we 
do not warrant the confidentiality or security of email or 
attachments we receive.

Re: Camel JMS Request/Reply with Websphere

Posted by Claus Ibsen <cl...@gmail.com>.
Hi


On Thu, Dec 22, 2011 at 11:46 PM, Mark Borner <ma...@zurich.com.au>wrote:

>
> Hello:
>
> I'm trying to use Camel (v 2.6.0) JMS Request/Reply with Websphere 7 using
> Websphere MQ.  I'm successfully able to put the request message onto the
> queue using the following URI:
>
>
> jms:queue:inboundQueue?connectionFactory=#connectionFactory&taskExecutor=#taskExecutor&transactionManager=#transactionManager&cacheLevelName=CACHE_NONE&replyTo=outboundQueue&requestTimeout=120000
>
> Note: I have to use cacheLevelName=CACHE_NONE in order for this to work on
> Websphere.
>
> However, when Camel creates the PersistentQueueMessageListenerContainer to
> read the reply message, it is hard coding the cache level to CACHE_SESSION
> (see PersistentQueueReplyManager.java line 192).  What happens is that
> Camel is successfully able to read the reply off the queue, but then spits
> out the following error repeatedly:
>
> 23 Dec 2011 09:23:32,427|||WorkManager.DefaultWorkManager : 3||WARN
> |org.springframework.jms.listener.DefaultMessageListenerContainer|Setup of
> JMS message listener invoker failed for destination 'temporary' - trying to
> recover. Cause: Connection closed
>
>
If you use fixed reply to queue's then why do you use 'temporary' as queue
name?



> I believe this is due to the PersistentQueueMessageListenerContainer using
> a cache level of CACHE_SESSION instead of CACHE_NONE.
>
> Can you please confirm there is no way to set the cache level on the
> PersistentQueueMessageListenerContainer that Camel creates?
>
>
This cannot be configured. Feel free to create a JIRA ticket to enhance
this.



> Can Camel be enhanced to either a) use the cache level from the request
> queue, or b) have the ability to set the cache level on the reply queue?
>
>
It should be option b, so you can configure both of them individually.



>  Thanks,
> Mark
>
> Mark Borner
> Java Developer - ZStream Xpress
>
>
>
>
> ----
> This email is intended for the named recipient only. It may contain
> information which is confidential, commercially sensitive, or
> copyright. If you are not the intended recipient you must not
> reproduce or distribute any part of the email, disclose its contents,
> or take any action in reliance. If you have received this email in
> error, please contact the sender and delete the message. It is your
> responsibility to scan this email and any attachments for viruses and
> other defects. To the extent permitted by law, Zurich and its
> associates will not be liable for any loss or damage arising in any
> way from this communication including any file attachments. We may
> monitor email you send to us, either as a reply to this email or any
> email you send to us, to confirm our systems are protected and for
> compliance with company policies. Although we take reasonable
> precautions to protect the confidentiality of our email systems, we
> do not warrant the confidentiality or security of email or
> attachments we receive.
>
>


-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/