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? 2. What gotchas should I be aware of, if any? 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