2013-01-04 45 views
1

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

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?

感谢 拉吉夫

回答

1

你问什么是不可能的西提。

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

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

苏荷