Skip to content

2026.09.47 — 2026-09-27 ​

Added ​

  • Release a consumed message without spending a delivery attempt (c10c1c09)

    A plugin consumer can now answer Disposition.RELEASE: it is not done with the message, and the message is not the reason (the service it calls is down). The message goes back to its queue with its delivery count unchanged, so the broker's max-delivery-attempts never dead-letters it for a release. Before, the only way back was REJECT, which counts: on a broker with no redelivery delay, a plugin backing off could exhaust a message's attempts, on every node, without ever processing it.

    Plugin consumer sessions now acknowledge each message on its own (INDIVIDUAL_ACKNOWLEDGE), so a message stays delivering on the broker until the handler answers. ACCEPT and REJECT behave as before: a rejected message is still bounded by max-delivery-attempts. A tapped copy that is released is discarded, as a rejected one is. The plugin guide says when to release and when to reject.

Apache-2.0. Apache ActiveMQ and Apache ActiveMQ Artemis are trademarks of the Apache Software Foundation. Artemis Studio is an independent project, not produced by, endorsed by, or affiliated with the ASF.