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前缀)。如果客户端需要将信息只发送到anycast队列,客户端可以指定anycast://<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>根据前面的配置,acceptor 被配置为使用
multicast://作为多播前缀。如果客户端只需要发送到多播队列,客户端代码可以指定>/。multicast://<my.destination