thanks guys.  I added some parameters to the queue to make the route
"transactional"...

from("activemq:inboundMessages?maxConcurrentConsumers=50&lazyCreateTransactionManager=true&transacted=true")
.process(new Processor1())
.process(new Processor2())
.to("activemq:finishedQueue"); 

Now I'm getting duplicates delivered.  My test pumped 10k messages into the
queue via an external client.  During the test, I restarted SMX 2 times. 
After the test concluded, I had 10,003 messages in the finishedQueue.  This
is better than losing messages, but still not the desired behavior...any
ideas?

One more question, what happens during exception handling?  Suppose I have
the following policy to retry 3 times, then go to an error queue...

onException(Exception.class).handled(true).maximumRedeliveries(3).to("activemq:errorQueue");

I assume the message is still in the inbound queue until either delivered to
the finished queue or error queue, correct?  So at any given time the sum of
the inbound, finished and error queues should equal to the number of
messages sent, correct?

I'm working on a unit test for this now, but wanted to make sure I
understood the intended behavior first...

thanks in advance


-----
Ben - Senior Consultant

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

Reply via email to