12.2. 配置消息会引发问题
要在代理实例中配置转变,请在 broker.xml
配置文件 的核心
元素中添加一个转变元素。
<core> ... <divert name= > <address> </address> <forwarding-address> </forwarding-address> <filter string= > <routing-type> </routing-type> <exclusive> </exclusive> </divert> ... </core>
- 颠覆性
-
移动的命名实例.您可以向
broker.xml
配置文件添加多个转换元素
,只要每个元素都有唯一的名称。 - 地址
- 从中转 邮件的地址
- forwarding-address
- 要转发 邮件的地址
- filter
- 可选的消息过滤器.如果您配置过滤器,则只会引发与过滤器字符串匹配的消息。如果没有指定过滤器,则所有消息都被视为匹配项。
- routing-type
转变的消息的路由类型。您可以配置转向:
-
将
anycast
或多播
路由类型应用到消息 - 剥 离(即,删除)现有的路由类型
- 通过 (即,保留)现有的路由类型
-
将
当消息已设置了路由类型时,路由类型的控制很有用,但您想要将消息转移到使用不同路由类型的地址。例如,代理无法将带有 anycast
路由类型的消息路由到使用 多播
的队列,除非您将传送 的 routing-type
参数设置为 MULTICAST
。转换的 routing-type
参数的有效值为 ANYCAST
、MULTICAST
、PASS
和 STRIP
。默认值为 STRIP
。
- exclusive
-
指定转变是排他性(将属性设为
true
)还是非专用(将属性设为false
)。
以下小节显示了独占和非独占性转变的配置示例。
12.2.1. 排他性转变示例
下面是独占偏移的配置示例。独家转义会将来自最初配置的地址的所有匹配消息转移到新地址。匹配的消息不会路由到原始地址。
<divert name="prices-divert"> <address>priceUpdates</address> <forwarding-address>priceForwarding</forwarding-address> <filter string="office='New York'"/> <exclusive>true</exclusive> </divert>
在前面的示例中,您定义了一个名为 price -divert
的转变,它将发送至地址 价格更新的所有
消息移至另一个本地地址 Pre warding
。您还要指定一个消息过滤器字符串。只有消息属性 office
和值为 New York
的消息才会被转移。所有其他消息都将路由到其原始地址。最后,您指定这种转变是排他性的。