Hi Ravi, Your MQ JmsComponent bean (configured via the 'mqConfig' JmsConfiguration bean) is a transacted endpoint. Routes that start with transactional endpoints will always be transactional. See http://camel.apache.org/transactional-client.html
Cheers, Tom On 3 September 2013 13:41, rkarumuri <rkarum...@nisum.com> wrote: > Hi, > > I used <transacted/> for a IBM MQ queue to behave in a such manner that if > system crashes original message should be rolled back or placed on to > original queue. But, what I observed is when system crashed we could see > message is placed back on to original queue *with or with out* using > <transacted> tag We did not see any difference using <transacted> tag. Can > any one help us where we go wrong in using <transacted/> tag effectively, > > Below is the configuration of the same, > > <camelContext id="context" xmlns="http://camel.apache.org/schema/spring" > trace="true"> > <propertyPlaceholder id="properties" location="client.properties" /> > <route id="initialRoute"> > <from uri="mqjms:java:comp/env/jms/mq/someQ?concurrentConsumers=2" /> > <transacted ref="transactionPolicy.jms.PROPAGATION_REQUIRES_NEW" /> > > <convertBodyTo type="java.io.InputStream" /> > <unmarshal ref="jaxbDataFormat" /> > <setHeader headerName="X OBJECT"> > <simple resultType="com.x.object">${body}</simple> > </setHeader> > <setBody> > <simple>${header.X}</simple> > </setBody> > <setHeader headerName="STATUS"> > <simple resultType="java.lang.String">${status}</simple> > </setHeader> > > <choice> > <when> > > <simple>${header.STATUS} == 'X'</simple> > <to uri="bean:xbean?method=ymethod" /> > </when> > <otherwise> > > <to uri="bean:xbean?method=zmethod" /> > </otherwise> > </choice> > > <onException useOriginalMessage="true"> > <exception>java.lang.RuntimeException</exception> > <exception>java.lang.Exception</exception> > <exception>com.LException</exception> > <redeliveryPolicy redeliveryDelay="10000" > retryAttemptedLogLevel="ERROR" maximumRedeliveries="0" /> > <handled> > <constant>true</constant> > </handled> > <log message="An error occurred ${exception}" loggingLevel="INFO" > /> > <to uri="mqjms:java:comp/env/jms/mq/someErrorQ" /> > </onException> > <onException useOriginalMessage="true"> > <exception>com.LException</exception> > <redeliveryPolicy redeliveryDelay="10000" > retryAttemptedLogLevel="ERROR" maximumRedeliveries="3" /> > <handled> > <constant>true</constant> > </handled> > <log message="An error occurred ${exception}" loggingLevel="INFO" > /> > <to uri="mqjms:java:comp/env/jms/mq/someErrorQ" /> > </onException> > </route> > </camelContext> > > <bean > id="lineBackOrderService.transactionPolicy.jms.PROPAGATION_REQUIRES_NEW" > class="org.apache.camel.spring.spi.SpringTransactionPolicy"> > <property name="transactionManager" ref="jmsTransactionManager" /> > <property name="propagationBehaviorName" > value="PROPAGATION_REQUIRES_NEW" /> > </bean> > > <bean id="mqjms" class="org.apache.camel.component.jms.JmsComponent"> > <property name="configuration" ref="mqConfig" /> > <property name="deliveryPersistent" value="false"/> > <property name="preserveMessageQos" value="true"/> > </bean> > > > <bean id="mqConfig" > class="org.apache.camel.component.jms.JmsConfiguration"> > <property name="destinationResolver" ref="jmsDestResolver" /> > <property name="connectionFactory" ref="mqCachingConnectionFactory" /> > <property name="transactionManager" ref="jmsTransactionManager" /> > <property name="transacted" value="true" /> > </bean> > > <bean id="jmsDestResolver" > class="org.springframework.jms.support.destination.JndiDestinationResolver" > /> > > <bean id="jmsTransactionManager" > class="org.springframework.jms.connection.JmsTransactionManager"> > <property name="connectionFactory" ref="mqCachingConnectionFactory" /> > </bean> > > <bean id="mqCachingConnectionFactory" > class="org.springframework.jms.connection.CachingConnectionFactory"> > <property name="targetConnectionFactory" ref="mqConnectionFactory" /> > <property name="sessionCacheSize" value="1" /> > <property name="reconnectOnException" value="true" /> > </bean> > > Thanks > Ravi > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Tag-transacted-with-JMS-Transaction-for-IBM-MQ-queue-making-no-difference-tp5738585.html > Sent from the Camel - Users mailing list archive at Nabble.com.