12.2. 配置消息片段


要在代理实例中配置,请在 broker.xml 配置文件的 核心元素 中添加 divert 元素。

<core>
...
   <divert name= >
        <address> </address>
        <forwarding-address> </forwarding-address>
        <filter string= >
        <routing-type> </routing-type>
        <exclusive> </exclusive>
   </divert>
...
</core>
divert
划分的命名实例.您可以向 broker.xml 配置文件添加多个 divert 元素,只要每个竞争者都有唯一的名称。
address
从中分离 信息的地址
forwarding-address
信息转发的地址
filter
可选的消息过滤器。如果您配置过滤器,则只会显示与过滤器字符串匹配的消息。如果您没有指定过滤器,则整个消息都将被视为匹配。
routing-type

正在推断的消息的路由类型。您可以将竞争配置为:

  • 将任何 广播多播路由 类型应用到消息
  • 条带 (即,删除)现有路由类型
  • 传递 (即保留)现有路由类型

当消息已设置其路由类型时,路由类型的控制很有用,但您想将消息重新定向到使用不同的路由类型的地址。例如,代理无法将 anycast 路由类型的消息路由到一个使用 multicast 的队列,除非您将 divert 的 routing-type 参数设置为 MULTICAST。导航器的 routing-type 参数有效值为 ANYCASTMULTICASTPASSSTRIP。默认值为 STRIP

exclusive
指定parrt 是否排斥(将属性设置为 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 的 divert,它将发送到 priceUpdates 地址的任何消息转到另外一个本地地址 priceForwarding。您还指定了消息过滤器字符串。只有消息属性 office 和值 New York 的消息才会被推断。所有其他消息都路由到其原始地址。最后,您指定了分路是独占的。

12.2.2. Non-exclusive divert 示例

下面是一个非区别的示例配置。在非专用的竞争中,信息将继续进入其原始地址,而代理也会将消息的副本发送到指定的转发地址。因此,非破坏性的划分方式是分割消息流的方法。

<divert name="order-divert">
   <address>orders</address>
   <forwarding-address>spyTopic</forwarding-address>
   <exclusive>false</exclusive>
</divert>

在前面的示例中,您可以定义名为 order-divert 的分值,该片段获取发送到地址 订购 的每个消息的副本并将其发送到名为 spyTopic 的本地地址。您还指定了不明确推销。

其他资源

如需详细示例,它使用 exclusive 和 non-clusive 分离和网桥将消息转发到另一个代理,请参阅 Divert Example (外部)。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.