收集器节点问题(IIB)

时间:2017-05-24 19:00:37

标签: ibm-mq ibm-integration-bus extended-sql

收集器节点问题:我目前正在使用收集器节点对消息进行分组(XML)。我的要求是收集消息,直到收到最后一条消息。 (从文件输入读取)

  1. 控制终端:我正在发送控制消息以停止收集并传播到下一个节点。但这不起作用。因为它仍然等待超时/数量条件得到满足。
  2. 我的问题:在收到最后一条消息之前,我可以使用什么条件收集消息?

2 个答案:

答案 0 :(得分:0)

控制终端可用于在传播完整集合时向收集器节点发出信号,而不是确定集合何时完成。

当收到设定数量的信息或所有输入终端的超时时间结束时,收集完成。

因此,如果您事先并不知道要在集合中包含多少条消息,则有3种选择:

  • 将消息数量设置为0并为输入终端设置适当的超时。

这样,节点将包括在第一个消息和集合中的超时值之间的时间内收到的所有消息。

  • 将大号设置为消息数量并使用集合到期

随着集合到期,不完整的集合可以传播到到期终端,但这将与前一个方法基本相同。

  • 开发自己的收集器流程

您可以使用MQ Input,Get和Output节点开发组合消息的流,在MQ队列中保留中间组合消息。使用此流程组合输入并将完整的消息发送到处理流程的输入队列。

答案 1 :(得分:0)

在Collector节点上添加一个单独的输入终端,用于完成集合。一旦您向第二个终端发送消息,该集合就会完成并传播。