camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From boday <bo...@vektrel.com>
Subject Re: guaranteed message processing question...
Date Fri, 06 Nov 2009 19:27:47 GMT

Claus, I am using persistent queues, but I purge them prior to each test.

I've rerun this test multiple times and it does deliver the correct number
if no exceptions are thrown.  Its only when the exception handling kicks in
that I end up with duplicates being delivered.

Any other thoughts on this?  What happens exactly when an exception is
thrown in a transacted route?

Can someone verify if this scenario is correct?

flow w/o exception...

-message sent by InboundQ (external process)
-message received by Processor1 and marked as sent/waiting for ACK in
InboundQ
-message received by Processor2
-message sent to finishedQueue
-ACK sent back to InboundMessage queue
-message is removed from InboundQ

w/exception

-message sent by InboundQ (external process)
-message received by Processor1 and marked as sent/waiting for ACK in
InboundQ
-message received by Processor2 (throws Exception)
-onException clause kicks in and retries Processor2 3 times
   -if success, message sent to finishedQueue, ACK sent back to InboundQ
   -if 3 failures reached, message sent to errorQueue, ACK send back to
InboundQ
-message is removed from InboundQ

thanks in advance...





Claus Ibsen-2 wrote:
> 
> Hi
> 
> Do you use persistent queues? Then make sure the queues are empty when
> testing. Maybe deleting the AMQ data folder before testing.
> 


-----
Ben - Senior Consultant

-- 
View this message in context: http://old.nabble.com/guaranteed-message-processing-question...-tp26202573p26230870.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message