1

我想知道 WSO2 CEP/Siddhi 查询是否支持返回多行,如果是的话,如何将这些行中的数据映射到输出 XML?例如,我的事件流有一个字段 statusCode,它可以有值 A/B/CI 想要编写一个查询,它给我过去 5 分钟的状态类型计数,例如 A-10、B-5、C-2.. 在当前查询我使用按状态代码分组来获取状态计数

 MyQuery- ...insert into TestStream statusCode, count(statusCode) as count group by  statusCode

and my output XML is something like

<statusSmry>
  <status>{statusCode}</status>
  <count>{count}</status>
</statusSmry>

the output i receive is something like

   <statusSmry>
      <status>A</status>
       <count>10</status>
    </statusSmry>
   .....
    <statusSmry>
      <status>B</status>
      <count>5</status>
    </statusSmry>
    ....
    <statusSmry>
      <status>C</status>
      <count>2</status>
    </statusSmry>

是否可以在单个 XML 中获取查询结果?即在上述情况下,单个 XML 中的 A、B、C 计数?

谢谢拉吉夫

4

1 回答 1

1

你问的在悉达语中是不可能的。

这是因为每当有输入事件时,总计数将被更新,同时需要触发相应更新组的输出以通知订阅者。由于这是一个实时过程,Siddhi 无法累积所有事件并作为一个事件/XML 输出。如果无论如何它会累积事件,那么它将累积多长时间(1秒或1天)会有问题,以及需要以什么格式发送输出,因此目前是(WSO2 CEP 2.0.1 ) 不支持累积。

如果您需要此功能,则必须将 CEP 的输出发送到 ESB 并运行某种聚合过程。

苏霍

于 2013-01-10T10:17:03.717 回答