camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Camel JMS Request/Reply with Websphere
Date Fri, 16 Mar 2012 05:00:23 GMT
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 <jbraathen@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/

Mime
View raw message