23.2. 非独占性转变
以下是非排他性转变的示例。非排他性转移的配置方式与使用可选的过滤器和转换器独占式转换法相同。
<divert name="order-divert" address="jms.queue.orders" forwarding-address="jms.topic.spytopic" exclusive="false"/>
<divert
name="order-divert"
address="jms.queue.orders"
forwarding-address="jms.topic.spytopic"
exclusive="false"/>
以上转换采用发送到 address jms.queue.orders 的每个消息的副本,该副本映射到名为 订单 的 Jakarta 消息传递队列,并将其发送到名为 jms.topic 的本地地址。SpyTopic 对应于名为 SpyTopic 的 Jakarta Messaging 主题。
创建转变
使用管理 CLI 创建您想要的转变类型:
/subsystem=messaging-activemq/server=default/divert=my-divert:add(divert-address=news.in,forwarding-address=news.forward)
/subsystem=messaging-activemq/server=default/divert=my-divert:add(divert-address=news.in,forwarding-address=news.forward)
默认情况下会创建非排他性转换。要创建专用转变,请使用 exclusive 属性:
/subsystem=messaging-activemq/server=default/divert=my-exclusive-divert:add(divert-address=news.in,forwarding-address=news.forward,exclusive=true)
/subsystem=messaging-activemq/server=default/divert=my-exclusive-divert:add(divert-address=news.in,forwarding-address=news.forward,exclusive=true)
下表捕获了转换的属性及其描述。您可以使用以下命令显示管理 CLI:
/subsystem=messaging-activemq/server=default/divert=*:read-resource-description()
/subsystem=messaging-activemq/server=default/divert=*:read-resource-description()
| 属性 | 描述 |
|---|---|
| divert-address | 地址,从.必需。 |
| exclusive | 转用是否排他性,意味着消息被转移到新地址上,而根本不使用旧地址。默认值为 false。 |
| filter | 可选的过滤器字符串。如果指定,则仅会引发与过滤器表达式匹配的消息。 |
| forwarding-address | 地址转向.必需。 |
| routing-name | 转变的路由名称. |
| transformer-class-name | 用于转换邮件正文或属性的类的名称,然后再转换邮件的正文或属性。 |