Yeah as Christian says you need to use transactions for that.
On Wed, Nov 4, 2009 at 8:23 PM, Christian Schneider <[email protected]> wrote: > As far as I know the transactional client aproach is the only good way to > guarantee that no message is lost. > You can take a look at these pages: > http://camel.apache.org/jms.html section: Enabling Transacted Consumption > http://camel.apache.org/transactional-client.html section: Camel 2.0 - JMS > Sample > > This thread could also help: > http://old.nabble.com/Problem-with-SOAP-JMS-and-transactions-to26162087.html > > As soon as you start using transactions you also will have to care about > rollbacks and redeliveries like described in the thread. > > Greetings > > Christian > > > boday schrieb: >> >> I'm using Camel2 in SMX 3.3.1. I have a simple Camel route as follows... >> >> from("activemq:inboundMessages?maxConcurrentConsumers=50") >> .process(new Processor1()) >> .process(new Processor2()) >> .to("activemq:finishedQueue"); >> >> How do I guarentee that a message will not be removed from the >> "inboundMessages" queue until it reaches the "finishedQueue"? I need to >> make sure that messages are not lost in the event of a server >> crash/restart, >> etc. Currently, this process is loosing messages if I restart the server >> midway through a load test. >> >> Do I have to use a transactional client approach (if so, how exactly)? I >> tried this briefly but haven't been able to get it to work. Is there >> another option like using the JMS acknowledgement mode or something? >> >> thanks >> >> ----- >> Ben - Senior Consultant >> >> > > -- 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
