camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: Dead letter handling in an embedded Camel client.
Date Wed, 15 Jan 2014 09:06:34 GMT
On Tue, Jan 14, 2014 at 4:59 PM, Paul Gale <> wrote:
> Hi,
> What is the recommended way to handle the following scenario.
> I intend to embed Camel in a client (a standalone Java process). The
> client receives messages from a queue on an ActiveMQ 5.8.0 broker. The
> client's processor is expected to save each message to a database
> (amongst other things).
> I need for my client's behavior to satisfy the following criteria:
> 1. If the database goes offline the client's error handling logic
> should retry the database save indefinitely.
> 2. The client should not send an ACK to the broker for a given message
> until it is saved in the database.
> 3. The client should not process subsequent messages until the
> processing of the current one is successful.
> 4. The implementation of the client's retry logic should not require
> the involvement of the broker from which the message came.
> Questions:
> 1. What is the correct pattern for implementing dead letter handling
> in the client (for handling database retries) so that all of the above
> criteria can be satisfied?

Sounds like you only want the client to do dead letter handling / retry etc.

> 2. What gotchas should I be aware of, if any?

If I knew all the gotaches in the world I would be rich

> 3. It is my understanding that Camel's dead letter handling is
> separate and distinct from that of ActiveMQ's even when the Camel
> context is running inside a broker. Is that correct? (Seems obvious
> but I thought I'd check.)


> 4. Is the approach I am proposing to take flawed to the extent that
> some other approach must be taken?
> Thanks,
> Paul

Claus Ibsen
Red Hat, Inc.
Twitter: davsclaus
Author of Camel in Action:
Make your Camel applications look hawt, try:

View raw message