4.17. 配置专用队列
专用队列是特殊队列,将所有消息都仅路由到一个使用者。当您希望所有消息被同一消费者以串行方式处理时,此配置很有用。如果有多个消费者用于队列,则只有一个消费者接收消息。如果该使用者从队列断开连接,则会选择另一个消费者。
4.17.1. 单独配置专用队列
以下流程演示了如何单独将给定队列配置为独占。
流程
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 对于给定的队列,添加
专用
密钥。将值设为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 节 “将地址设置应用到一组地址”。