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: Websphere MQ ExchangeTimedOutException
Date Wed, 26 May 2010 08:45:12 GMT
Hi

I spoke to a couple of AMQ committers and they do not recall any
restrictions etc on the length of the correlation ID in the JMS spec.
So why would IBM restrict it to only 24 chars?

Do you know of any such restrictions in the JMS spec?

And do you have a link to some online IBM docs which specifies the 24
char length?
As I would like to add a FAQ entry for Camel.

I will also create a ticket to allow pluggable UUID generators. So you
can plugin a more MQ friendly.

And btw What version of MQ are you using?



On Tue, May 25, 2010 at 12:49 PM, omarito <omaracruz@gmail.com> wrote:
>
> The exchange pattern that I am using is InOut in the JMS Endpoint. My route
> basically recieves a byte[] from a mina endpoin, transform the data, prepare
> the data, send it to MQ thorugh JMS endpoint, do som postprocessing after
> receiving the data from MQ and return it back through mina endpoint.
>
> <route>
>    <from ref="minaEndpoint"/>
>    <transform>
>        <method bean="transformer" method="transformRequest"/>
>    </transform>
>    <bean ref="processor" method="prepare"/>
>    <to uri="jmsEndpoint:queue:xxxx.xxx.REQUEST?replyTo=xxxx.xxx.RESPONSE"
> pattern="InOut"/>
>    <bean ref="processor" method="processResponse"/>
>    <transform>
>        <method bean="transformer" method="transformResponse"/>
>    </transform>
> </route>
>
> After some debuging yesterday I found that the correlationId that the JMS
> Endpoint creates is 32 characters long  (using UUID a believe!) and the
> message in the reply queue is 24 characters long. Looking thorugh IBM's
> documentation the correlationId must be 24 characters long. I believe this
> is the problem but maybe I am not 100% sure.
>
> Thanks!
> Omar
>
>
> willem.jiang wrote:
>>
>> Can I have a look at your camel route configure?
>> What's your message exchange pattern ?
>>
>> Willem
>> omarito wrote:
>>> HI to all,
>>>
>>> I am having some difficulties getting back the response received on the
>>> ReplyTo queue from our Websphere MQ Server. Using the MQ explorer I see
>>> the
>>> message in the ReplyTo queue but my JMS comsumer is not picking it up.
>>> Please find below my spring configuration:
>>>
>>>     <bean id="jmsEndpoint"
>>> class="org.apache.camel.component.jms.JmsComponent">
>>>         <property name="connectionFactory"
>>> ref="myProxyConnectionFactory"/>
>>>         <property name="useVersion102" value="true"/>
>>>         <property name="acknowledgementModeName"
>>> value="AUTO_ACKNOWLEDGE"/>
>>>         <property name="camelContext" ref="camelContext"/>
>>>         <property name="destinationResolver">
>>>             <bean
>>> class="com.xxx.xxx.xxx.camel.endpoint.CustomDestinationResolver"/>
>>>         </property>
>>>         <property name="transacted" value="true"/>
>>>         <property name="transactionManager" ref="jmsTransactionManager"/>
>>>     </bean>
>>>
>>>     <bean id="jmsTransactionManager"
>>> class="org.springframework.jms.connection.JmsTransactionManager102">
>>>         <property name="connectionFactory" ref="proxyConnectionFactory"/>
>>>         <property name="pubSubDomain" value="false"/>
>>>     </bean>
>>>
>>>     <bean id="proxyConnectionFactory"
>>>
>>> class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
>>>         <property name="targetConnectionFactory"
>>> ref="jmsConnectionFactory"/>
>>>         <property name="username" value="${jms.endpoint.user}"/>
>>>         <property name="password" value="${jms.endpoint.password}"/>
>>>     </bean>
>>>
>>>     <bean id="jmsConnectionFactory"
>>> class="com.ibm.mq.jms.MQQueueConnectionFactory">
>>>         <property name="transportType">
>>>             <util:constant
>>> static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP"/>
>>>         </property>
>>>         <property name="queueManager"
>>> value="${jms.endpoint.queueManager}"/>
>>>         <property name="channel" value="${jms.endpoint.channel}"/>
>>>         <property name="hostName" value="${jms.endpoint.host}"/>
>>>         <property name="port" value="${jms.endpoint.port}"/>
>>>     </bean>
>>>
>>> Any help will be gladly appreciated. Thanks in advance.
>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Websphere-MQ-ExchangeTimedOutException-tp28659946p28666889.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message