首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CEP没有使用siddhi的事件

CEP没有使用siddhi的事件
EN

Stack Overflow用户
提问于 2013-09-05 19:21:42
回答 1查看 383关注 0票数 3

下午好。

作为一名架构师,我将软件能力中心写进了Indra公司(www.indra.com)。

在这一领域,通常使用CEP,开源和商业,在开源领域,直到现在我们一直使用Esper CEP,但我们发现GPL存在问题。

在我们好奇地想尝试Siddhi CEP之后,我们已经开始了这个CEP的项目。

问题是我们发现,我们不能确定一个包含所有CEP和项目需求的功能:检测事件的缺失。

在Esper中,这可以通过如下查询来完成:

代码语言:javascript
运行
复制
     select a.id, count (*) from pattern [
     every a = Status -> (timer: interval (10 sec) and not Status (id = a.id)
     ] Group by id

     http://esper.codehaus.org/tutorials/tutorial/tutorial.html

我们想知道产品路线图是否包含此功能,以及现在是否有解决此问题的方法。

谢谢和问候。

EN

回答 1

Stack Overflow用户

发布于 2015-05-28 21:11:05

此规则将每10秒触发一次新事件未到达的情况。Drools CEP引擎必须设置为流模式

代码语言:javascript
运行
复制
declare EquipmentFact
@role(event)
@timestamp( lastNotifyTs ) 
originalObject : Object    
equipmentInit : String
equipmentNum : String
   lastNotifyTs : java.util.Date   
   eventTs : java.util.Date
   notifyCnt : int
   maxWait : String
end

规则“10秒内未发送设备”

什么时候

代码语言:javascript
运行
复制
$a: EquipmentFact();
not  EquipmentFact(eventTs > $a.eventTs, equipmentInit == $a.equipmentInit, equipmentNum == $a.equipmentNum, this after [1s, 10s] $a)

然后

代码语言:javascript
运行
复制
System.out.println("#######  FIRED  ######### Second EquipmentFact event did not arrive 10s " + $a);
retract($a);
    EquipmentFact retE = new EquipmentFact();
retE.setEquipmentInit($a.getEquipmentInit());
retE.setEquipmentNum($a.getEquipmentNum());
retE.setEventTs($a.getEventTs());
retE.setNotifyCnt($a.getNotifyCnt()+1);
retE.setLastNotifyTs(new Date());
insert(retE);

结束

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18634985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档