Transaction spanning multiple routes separated by seda queue
Hi I have a route to consume a message from a JMS Topic, do some processing on it and then place on a SEDA Queue. My second route will consume the message from the SEDA queue and place on a different JMS Topic. I want to ensure that the message only gets de-queued from the first Topic which it has successfully been placed on the 2nd topic. Is this possible? Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Transaction-spanning-multiple-routes-separated-by-seda-queue-tp5746041.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Transaction spanning multiple routes separated by seda queue
AFAIK this is not supported, because transactions are threadbound and the SEDA stuff will run of another thread than the one that started the transaction, and hence not able to participate in it. 2014/1/16 gilboy josephoto...@gmail.com Hi I have a route to consume a message from a JMS Topic, do some processing on it and then place on a SEDA Queue. My second route will consume the message from the SEDA queue and place on a different JMS Topic. I want to ensure that the message only gets de-queued from the first Topic which it has successfully been placed on the 2nd topic. Is this possible? Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Transaction-spanning-multiple-routes-separated-by-seda-queue-tp5746041.html Sent from the Camel - Users mailing list archive at Nabble.com. -- -- David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
Re: Transaction spanning multiple routes separated by seda queue
On Thu, Jan 16, 2014 at 10:57 AM, gilboy josephoto...@gmail.com wrote: Hi I have a route to consume a message from a JMS Topic, do some processing on it and then place on a SEDA Queue. My second route will consume the message from the SEDA queue and place on a different JMS Topic. I want to ensure that the message only gets de-queued from the first Topic which it has successfully been placed on the 2nd topic. Is this possible? Well almost. If you use transacted jms, then the consumer on the jms topic will not ack the msg until Camel has routed the message and there was no error. So when you send to the seda queue, then if you do request/reply then it will block here waiting for the 2nd route to complete. And if that completes without any exception, then it continue and the 1st consumer can ack the message. But if you involve other resources such as JDBC and want to use XA then you would need that work to happen on the same thread (very often that is). If you have Camel in Action book, read chapter 9, and see section 9.3 about local vs global tx's. Thanks in advance Joe -- View this message in context: http://camel.465427.n5.nabble.com/Transaction-spanning-multiple-routes-separated-by-seda-queue-tp5746041.html Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen - Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen Make your Camel applications look hawt, try: http://hawt.io