Esper:当值超过阈值时抛出事件

时间:2017-04-10 16:40:46

标签: java complex-event-processing esper

我是Esper的新手,我尝试实施警报系统。当项目值超过阈值时,我需要抛出一个事件。 例如,对于Car,我希望在属性槽超过40时获得一个事件,而当该值恢复到40以下时,我想获得另一个事件。

我尝试了很多Esper的功能,但没有任何效果。

我想做类似的事情但是效果不好:

insert into AlertEvt select b from pattern[t=Car while (t.tank > 90) -> b=AlertEvt(type=t.tank, machineName=t.module)]
希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

当值超过40时,此警报会发出警告:

select * from Event(value > 40)

当超过40时,该值会在值低于40时发出警告:

select * from pattern[Event(value > 40) -> Event(value < 40)]

既然你没有说出你想要提醒的频率(一次,每次?),什么时候不提醒(40岁以上时抑制?),我没有添加任何重复或者任何镇压。解决方案模式页面非常有用。我在下面有一些链接可以帮助您解决您没有说的要求。

http://espertech.com/esper/solution_patterns.php#semantic-window-0

http://espertech.com/esper/solution_patterns.php#semantic-window-1

http://espertech.com/esper/solution_patterns.php#semantic-window-2