Skip to content

Commit cc5ddd6

Browse files
authored
Add AMQP filter expressions to AMQP 1.0 docs (#2111)
1 parent d5f7b3a commit cc5ddd6

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

docs/amqp.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,10 @@ This section lists features that RabbitMQ supports exclusively in AMQP 1.0, whic
268268
* This can result in lower intra-cluster traffic, reducing latency and increasing throughput.
269269
* **[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.
270270
* **[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.
271+
* **AMQP Filter Expressions**: RabbitMQ [implements](https://github.com/rabbitmq/rabbitmq-server/pull/12415) `properties` and `appliation-properties` filters of [AMQP Filter Expressions Version 1.0 Working Draft 09](https://groups.oasis-open.org/higherlogic/ws/public/document?document_id=66227) when consuming from a stream via AMQP 1.0.
272+
* String prefix and suffix matching is also supported.
273+
* This feature allows multiple concurrent clients each consuming only a subset of messages while maintaining message order.
274+
* This feature reduces network traffic between RabbitMQ and clients by only dispatching those messages that the clients are actually interested in.
271275
* **Well defined [types](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html)**
272276
* **Better defined [message headers](https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format)**
273277
* **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.
@@ -315,6 +319,8 @@ If field `undeliverable-here` is
315319
* `true`, classic queues and quorum queues will [dead letter](./dlx) the message. If dead lettering is not configured, the message will be discarded.
316320
* `false`, classic queues and quorum queues will requeue the message.
317321

322+
The [AMQP 1.0 Modified Outcome](/blog/2024/10/11/modified-outcome) blog post describes use cases.
323+
318324
:::warning
319325

320326
The behaviour of `undeliverable-here` may change in a future RabbitMQ version.

0 commit comments

Comments
 (0)