KamoCRM

Consumer-side idempotency, DLQ + steward replay (Slice 2)

Featurekamo-shared-library
Shipped
26 ஜூன், 2026 அன்று 1:48 AM UTC
Author
Kamo
Commit
419acb5

Adds the reliability core that any MLOS consumer plugs into: ProcessedEvent dedup ledger (unique consumer_name+event_id) + MlosDeadLetter DLQ + MlosDeadLetterStatus; IdempotentEventProcessor (INSERT-or-skip dedup in the handler's tx so a failure rolls back the marker; dead-letters past maxAttempts instead of looping; deadLetterUnprocessable for unparseable poison); DeadLetterReplayer (re-enqueues a DEAD letter through the outbox as a NEW eventId with causationId lineage -> no msg_id-unique/dedup-window collision, marks REPLAYED). MlosEventEnvelope gains @Jacksonized for round-trip deserialization. New @Components share the mlos.outbox.enabled opt-in; repos are in the already-scanned package. Live AbstractMlosDurableConsumer (NATS subscription) deferred to its first concrete consumer.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing