本主题仅当扇出流中 Aggregate Control 节点的 Control 终端连接到对队列的输出控制消息时适用。通过不连接 Control 终端,可以解决本部分中讨论的问题。有关连接 AggregateControl 的 Control 终端的更多信息,请参阅在聚集流中使用控制消息。
Aggregate Reply 节点具有两个输入终端:In 和 Control。如果您同时使用这两个终端,请记住使用 Control 终端是可选的,向 Aggregate Reply 节点提供数据最有效的方法是,对扇入流使用单个 MQInput 节点,后面跟有 Filter 节点。Filter 节点用来根据适当的情况,将入局消息路由到 Aggregate Reply 节点的 In 或 Control 终端。
在消息流中使用单个 MQInput 节点,后跟一个 Filter 节点,而不是使用两个 MQInput 节点:一个用于 In 终端,另一个用于 Control 终端。应该使用单个 MQInput 节点,因为在两个 MQInput 节点之间无法指定应该分发多少其他线程(通过使用附加实例提供)。AggregateReply 节点 In 终端上的流量可能更高,因此在它的输入节点上有更多的线程运行会很有用,而使用两个 MQInput 节点则不可能这样配置。因此,节点可能会缺乏线程、阻塞应答消息并使聚集机制停止运转。
CREATE FILTER MODULE FanIn_Filter CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN IF Root.XML.ComIbmAggregateControlNode IS NULL THEN RETURN TRUE; -- wired to In ELSE RETURN FALSE; -- wired to Control END IF; END; END MODULE;