流和相邻代理

WebSphere MQ Publish/Subscribe网络中,代理可能不支持与其相邻代理相同的流集合。如果代理不支持其某个相邻代理支持的流,则与该流相关的发布内容不可用于该代理的客户机。

WebSphere Message Broker 代理添加到网络后,该代理支持其相邻 WebSphere MQ Publish/Subscribe代理支持的所有流。这意味着 WebSphere Message Broker 代理的客户机可以为其任何 WebSphere MQ Publish/Subscribe邻居支持的所有流指定发布内容。

但是,要使这些发布内容变为可用, 必须定义流队列、并且将支持流队列的消息流定义并部署到 WebSphere Message Broker 代理。

下列示例显示了将 WebSphere Message Broker 代理添加到多流 WebSphere MQ Publish/Subscribe环境后的效果:

异构网络。该图显示了 <ph conref='edvent.dita#edvent/mqsi'></ph> 代理,它放置在两个 <ph conref='edvent.dita#edvent/sdk'></ph> 代理 BROKERA 和 BROKERB 之间。 它还列出了与这两个 <ph conref='edvent.dita#edvent/sdk'></ph> 代理中的每一个相关联的流。
WebSphere Message Broker 代理 NEWBROKER 已用于连接 WebSphere MQ Publish/Subscribe代理 BROKERA 和 BROKERB。

WebSphere MQ Publish/Subscribe网络中的每个代理始终支持缺省流队列 SYSTEM.BROKER.DEFAULT.STREAM,并且必须为异构网络中的每个 WebSphere Message Broker 代理进行定义。在每个代理上,还必须定义和部署消息流,以便为该队列提供服务。

WebSphere Message Broker 代理集成到 WebSphere MQ Publish/Subscribe网络并链接两个或多个共享公共流的 WebSphere MQ Publish/Subscribe代理时,必须定义公共流队列、并将向流队列提供服务的消息流定义和部署到 WebSphere Message Broker 代理。

例如,在前图中显示的 WebSphere Message Broker 代理 NEWBROKER 必须有为 BULLETIN.STREAM 定义的流队列。而且,它还必须有一个已定义和部署以便为该队列提供发布服务的消息流。

您需要为图中显示的其他流将流队列和相关的消息流定义到 WebSphere Message Broker 代理,但前提条件是该代理的某个 WebSphere MQ Publish/Subscribe相邻代理可能将消息发送到某个队列。如果发生以下某个事件,则发送消息:
  1. 对其中某个流上发布内容的预订由 WebSphere Message Broker 代理的客户机进行注册。
  2. 流的 DeletePublication 命令由代理网络内的任何客户机发出。
如果不确定是否会发生以上情况,则在 WebSphere Message Broker 代理中为 WebSphere MQ Publish/Subscribe相邻代理支持的每个流创建流队列和消息流。 如果不进行该操作,则可能会导致以下结果:
  • 如果 WebSphere Message Broker 代理中不存在流队列,则从 WebSphere MQ Publish/Subscribe代理发出的消息将被放入 WebSphere Message Broker 代理的死信队列(DLQ)中。
  • 如果存在流队列,但没有部署为它提供服务的消息流,则消息在 WebSphere Message Broker 代理的流队列上构建。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
aq19800_