if there are exceptions in any command-coerce, process-command, aggregate-event or prepare-store, it kills the running job (rightly so).
Need to implement a flow where everything goes to a Dead Letter Queue (DLQ) box when there are problems by default. This means that we also need some way of handling the DLQ. I can think of a few scenario's:
Code is buggy, the message would have processed ok. Reprocess.
Message is in the wrong format. Fix sender and resend (or fix message and reprocess).
System availability issues. Reprocess automatically.
On top of this, the message could be time-sensitive. Introduce an expiry time on the command so that the DLQ can get cleared of expired messages.
if there are exceptions in any command-coerce, process-command, aggregate-event or prepare-store, it kills the running job (rightly so).
Need to implement a flow where everything goes to a Dead Letter Queue (DLQ) box when there are problems by default. This means that we also need some way of handling the DLQ. I can think of a few scenario's:
On top of this, the message could be time-sensitive. Introduce an expiry time on the command so that the DLQ can get cleared of expired messages.