FWIW this is what I did for a transactional route to stop messages disappearing from the original queue if the broker went down:
<beans ... > <broker xmlns="http://activemq.apache.org/schema/core" id="matrixBrokerID" brokerName="matrixBroker" useJmx="true" persistent="true"> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="activemq:topic:topic1"/> <transacted /> <to uri="activemq:topic:topic2"/> </route> </camelContext> <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" depends-on="matrixBrokerID"> <property name="brokerURL" value="vm://matrixBroker?create=false"/> </bean> <bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager"> <property name="connectionFactory" ref="jmsConnectionFactory"/> </bean> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="connectionFactory" ref="jmsConnectionFactory"/> <property name="transacted" value="true"/> <property name="transactionManager" ref="jmsTransactionManager"/> </bean> </beans> Alistair -- mov eax,1 mov ebx,0 int 80h On 19 Jul 2011, at 06:51, Claus Ibsen wrote: > On Mon, Jul 18, 2011 at 11:04 PM, fridlyos <albert.friedl...@citi.com> wrote: >> Hi.... >> >> Hoping to get some help with an design issue I'm having. Playing around >> with Camel error handling - trying to get an answer to following questions. >> >> If an exception is cough - message flows into exception handler. If there >> are few redelivery attempts to be made - Camel seem to handle it correctly. >> If, however, the systems fails during this time, the messages that were in >> re-delivery process seem to be lost. >> > > Yes Camel keeps in flight messages in memory > >> Is there a way to prevent that? Basically, roll back transaction completely >> all the way up to the Queue (not internally in Camel). >> > > You can use the Transactional Client EIP (aka transactions) > http://camel.apache.org/transactional-client.html > > A bit more here > http://camel.apache.org/error-handling-in-camel.html > > Chapter 9 in the Camel in Action book covers how to use transactions > with Camel extensively. > The source code for the book is freely available so they can be used > for inspiration. > > And FuseSource have a free excerpt of chapter 9 available at: > http://fusesource.com/fuse/apache-books/ > The discount code listed on the page may have expired. > > >> >> Any help is appreciated. >> >> Thank you >> >> -- >> View this message in context: >> http://camel.465427.n5.nabble.com/Camel-JMS-re-delivery-on-failure-tp4601191p4601191.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> > > > > -- > Claus Ibsen > ----------------- > FuseSource > Email: cib...@fusesource.com > Web: http://fusesource.com > Twitter: davsclaus, fusenews > Blog: http://davsclaus.blogspot.com/ > Author of Camel in Action: http://www.manning.com/ibsen/