收集器节点问题 (IIB)



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

控制
  1. 终端:我正在发送一条控制消息以停止收集并传播到下一个节点。但这行不通。因为它仍在等待满足超时/数量条件。

我的问题:我可以使用什么条件来收集消息,直到收到最后一条消息?

在收集器节点上添加用于完成集合的单独输入终端。 将消息发送到第二个终端后,集合将完成并传播。

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

当收到设定数量的消息或所有输入终端的超时用尽时,集合完成。

因此,如果您事先不知道要在集合中包含多少封邮件,您有 3 个选项:

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

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

  • 将较大的数字设置为消息数量并使用收集过期

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

  • 开发您自己的收集器流

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

最新更新