4.6. 在接受器配置中添加路由类型
通常,如果一个消息由同时使用 anycast
和 multicast
的地址接收,一个 anycast
队列会接收消息,以及所有 multicast
队列。但是,当连接到地址时,客户端可以指定一个特定的前缀,以指定是否使用 anycast
或 multicast
连接。前缀是在代理配置的 URL 中使用 anycastPrefix
和 multicastPrefix
参数来指定的自定义值。
以下流程演示了如何为给定接受器配置前缀。
流程
-
打开 &
lt;broker_instance_dir> /etc/broker.xml
配置文件。 对于给定的接收器,若要配置
anycast
前缀,将anycastPrefix
添加到配置的 URL。设置自定义值。例如:<configuration ...> <core ...> ... <acceptors> <!-- Acceptor for every supported protocol --> <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=AMQP;anycastPrefix=anycast://</acceptor> </acceptors> ... </core> </configuration>
根据前面的配置,acceptor 被配置为使用
anycast://
(anycast
前缀)。客户端代码可以指定任何cast://<my.destination
>/,如果客户端需要只向任播
队列之一发送消息。对于给定的接受者,若要配置
多播
前缀,请将multicastPrefix
添加到配置的 URL。设置自定义值。例如:<configuration ...> <core ...> ... <acceptors> <!-- Acceptor for every supported protocol --> <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=AMQP;multicastPrefix=multicast://</acceptor> </acceptors> ... </core> </configuration>
根据上述配置,接收器配置为使用
multicast://
进行多播
前缀。如果客户端需要发送到仅多播队列的消息,客户端代码可以指定multicast://<my.destination
>
;/。