Thank you for your reply.

The issue with exceptions and the DLQ is the same, they are both exception
handling tools but the late delivery event in this case (and several others)
is naturally normal behavior.  Its like making your child's lunch and
finding they've already gone to school so you file it in the rubbish bin so
that you can get it out later to drop it in to your child at school when you
eventually go to work.  Just recently I saw another example of this where
someone had put the end of tail end recursion in an exception handling block
which caused a world of hurt.  When you write software exception handling is
for exceptions only.

I'm sure that I'm missing something here in the patterns world that has this
covered.  What should happen is the producer thread should cleanly give up
waiting and hand the waiting game over to a janitor thread to process when
the message finally arrives.  The janitor thread is a lot like the DLQ but
will only collect assigned messages.  Note that the janitor thread is never
blocking on any particular message arriving as a lot of producers could be
assigning it late messages.

My initial thoughts was that I could do this with some sort of exclusive
consumer arrangement.  But I can't seem to work out how to do that in Camel
yet.



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-do-I-avoid-using-the-dead-letter-queue-using-Camel-tp5730386p5730392.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to