此内容没有您所选择的语言版本。

4.7.5. Subscribe to a Direct Exchange


Subscribing to the Default Exchange using a Copy of Messages

This is the most straight-forward method to implement. Create a receiver using an address comprised of the exchange name and the routing key. For example, create a receiver on direct exchange "finance" using the "reports" key of interest:

C++
Receiver receiver = session.createReceiver("finance/reports")
Copy to Clipboard Toggle word wrap
Python
receiver = session.receiver('finance/reports')
Copy to Clipboard Toggle word wrap
Subscribing to a Direct Exchange using a Shared Queue

Subscription using a shared queue may be created by naming the subscription queue and defining it non-exclusive. For example:

C++
Receiver receiver = session.createReceiver("finance/quick-publish;{link:{name:my-subscription, x-declare:{exclusive:False}}}");
Copy to Clipboard Toggle word wrap
Python
receiver = session.receiver('finance/quick-publish;{link:{name:my-subscription, x-declare:{exclusive:False}}}')
Copy to Clipboard Toggle word wrap
Alternatively, you may create a queue and bind it to the direct exchange using a routing key. You can do that using x-bindings. For example:
C++
Receiver receiver = session.createReceiver("my-subscription;{create: always, node:{x-bindings: [{exchange: 'finance', key: 'quick-publish'}]}}");
Copy to Clipboard Toggle word wrap
Python
receiver = session.receiver('my-subscription;{create: always, node:{x-bindings: [{exchange: 'finance', key: 'quick-publish'}]}}')
Copy to Clipboard Toggle word wrap
We have created a shared queue named "my-subscription" and bound it to the direct exchange "finance" with the key "quick-publish".
AMQP 1.0

Both Link-scoped x-declare and Node-scoped x-bindings clauses are not supported in AMQP 1.0, hence we request the capability of a shared subscription:

C++
Receiver receiver = session.createReceiver("finance/quick-publish;{node: {capabilities:[shared]}, link: {name: 'my-subscription'}}");
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat