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

Reply via email to