Poison Message
Reliable-messaging concept at the heart of error handling in EDI integration.
Definition
A poison message raises a deterministic error on every consumption — malformed data, a missing reference, a logic bug. Without a safeguard, requeuing it creates an infinite loop that starves healthy messages. The standard defense is to count redeliveries and, past a threshold, divert it to a Dead-Letter Queue.
Origin
A long-established term in transactional messaging systems: Microsoft Message Queuing (MSMQ) exposes a redelivery counter and a poison sub-queue, and JMS defines JMSXDeliveryCount for the same purpose (Jakarta/Java Message Service specification).
Example in context
Consumer logic:if delivery_count > 5: route_to_dlq(msg) else: process(msg)
Related terms
- DLQ — the usual destination for a poison message.
- Redelivery count — the counter that detects poison.