我正在使用IIB上的收集器节点来收集一组消息。有人可以在收集器节点之后帮助处理示例ESQL来处理消息收集吗?由于我是ESQL的新手,所以我很难弄清楚。 IBM信息中心对ESQL消息收集不是很有帮助。
答案 0 :(得分:0)
代码将取决于您要对集合执行的操作。如果要遍历收集到的消息,可以执行以下操作:
--reference the first message, the CollectionName is the first element in the array
DECLARE ref REFERENCE TO InputRoot.Collection.[2];
WHILE LASTMOVE(ref) DO
--reference the data like normal, domain is a header, parsers, etc.
SET Environment.Variables.data = ref.domain.data;
--example ref.XMLNSC.HTML.Body.h1
--do any other work on the message here
MOVE ref NEXTSIBLING;
END WHILE;
此循环将一直运行到到达集合末尾。然后,MOVE命令将返回null,而LASTMOVE将返回false。
在ESQL之前使用带有$ {Root}模式的Trace节点来查看消息结构。这是开始开发处理数据所需的ESQL的最佳位置。