4.17. 配置专用队列
专用队列是特殊的队列,可将所有消息一次仅路由到一个消费者。当您希望所有消息被同一消费者按顺序处理时,此配置很有用。如果一个队列有多个消费者,则只有一个消费者接收消息。如果该消费者与队列断开连接,则会选择另一个消费者。
4.17.1. 单独配置专用队列
以下步骤演示了如何将给定队列单独配置为 exclusive。
流程
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 对于给定队列,添加
exclusive
密钥。将值设为true
。<configuration ...> <core ...> ... <address name="my.address"> <multicast> <queue name="orders1" exclusive="true"/> </multicast> </address> </core> </configuration>
4.17.2. 为地址配置专用队列
以下流程演示了如何配置地址 或一组 地址,以便所有关联的队列都是独占的。
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 在
address-setting
元素中,用于匹配地址,添加default-exclusive-queue
键。将值设为true
。<address-setting match="myAddress"> <default-exclusive-queue>true</default-exclusive-queue> </address-setting>
根据前面的配置,与
myAddress
地址关联的所有队列都是专用的。默认情况下,default-exclusive-queue
的值为false
。要为 一组 地址配置专用队列,您可以指定地址通配符。例如:
<address-setting match="myAddress.*"> <default-exclusive-queue>true</default-exclusive-queue> </address-setting>
其他资源
- 有关配置地址时可以使用的通配符语法的更多信息,请参阅 第 4.2 节 “将地址设置应用到一组地址”。