You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[Accepted](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted)|`basic.ack`|**All** queues the message was routed to have accepted the message. For example for [quorum queues](./quorum-queues), this means a majority of quorum queue replicas have written the message to disk. The publisher can therefore forget/delete the message. |
258
-
|[Rejected](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected)|`basic.nack`| At least one queue the message was routed to rejected the message. This happens when the [queue length](./maxlength) is exceeded and the queue's [overflow](./maxlength#overflow-behaviour) behaviour is set to `reject-publish` or when a target [classic queue](./classic-queues) is unavailable.<br/>RabbitMQ also rejects messages as specified in [Using the AMQP Anonymous Terminus for Message Routing](https://docs.oasis-open.org/amqp/anonterm/v1.0/cs01/anonterm-v1.0-cs01.html#doc-routingerrors), for example if a message's `to` field of the [properties](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-properties) section contains an invalid address or defines a non-existing exchange. |
258
+
| [Rejected](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected) | `basic.nack` | At least one queue rejected the message, either because the [queue length](./maxlength) limit was exceeded (when [overflow](./maxlength#overflow-behaviour) is set to `reject-publish`) or because a target [classic queue](./classic-queues) is unavailable. The [`error`](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-error) field's `info` map contains keys `queue` (with the queue name as value) and `reason` (with value `maxlen` or `unavailable`).<br/>RabbitMQ also rejects messages as specified in [Using the AMQP Anonymous Terminus for Message Routing](https://docs.oasis-open.org/amqp/anonterm/v1.0/cs01/anonterm-v1.0-cs01.html#doc-routingerrors), for example if a message's `to` field of the [properties](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-properties) section contains an invalid address or defines a non-existing exchange. |
259
259
|[Released](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released)|`basic.return` (followed by `basic.ack` or `basic.nack`) | RabbitMQ could not route the message to any queue. This indicates a topology misconfiguration, for example when no matching queue is bound to the target exchange. |
260
260
|[Modified](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified)|| Currently, RabbitMQ does not settle a message with the modified outcome. |
261
261
@@ -300,6 +300,7 @@ This section lists features that RabbitMQ supports exclusively in AMQP 1.0, whic
300
300
***WebSocket**: [VMware Tanzu RabbitMQ](https://www.vmware.com/products/app-platform/tanzu-rabbitmq) supports [AMQP 1.0 over WebSocket](/blog/2025/04/16/amqp-websocket) allowing applications running in a browser to communicate with RabbitMQ using AMQP 1.0.
301
301
***[Modified Outcome](#modified-outcome)**: Allows a quorum queue consumer to add and modify [message annotations](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-message-annotations) when requeueing or dead lettering a message.
302
302
***[Sender Settle Mode](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-sender-settle-mode)`mixed`**: Allows a publisher to decide on a per-message basis whether to receive [confirmations](./confirms#publisher-confirms) from the broker.
303
+
***Detailed Rejection Information**: When RabbitMQ rejects a message, publishers receive the queue name and rejection reason in the [`Rejected` outcome](#outcomes), allowing them to identify which specific queue rejected the message and why. This is particularly useful when multiple queues are bound to a target exchange.
303
304
***Well defined [types](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html)**
304
305
***Better defined [message headers](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format)**
305
306
***Enhanced Message Integrity**: Clients can set message hashes, checksums, and digital signatures not only over the message body but also over the [properties](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-properties) and [application-properties](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-application-properties) sections, as the bare message is immutable.
0 commit comments