Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Esper:注意,当事件数(带有特定参数)超过阈值时_Java_Esper_Complex Event Processing - Fatal编程技术网

Java Esper:注意,当事件数(带有特定参数)超过阈值时

Java Esper:注意,当事件数(带有特定参数)超过阈值时,java,esper,complex-event-processing,Java,Esper,Complex Event Processing,为此寻找解决方案的时间相当长: 我有一张联系表。每当有人通过它发送邮件时,一个ContactEvent(接收者、发送者)就会被发送到Esper。现在,我想Esper通知我,当一个特定的Ip地址在10分钟内发出超过50个联系事件时 下面代码中的语法错误是由于代码简化造成的 create window ContactWindow.win:time(10 min) as select ipAddress, mail from ContactEvent 然后我像这样填充它: insert into

为此寻找解决方案的时间相当长:

我有一张联系表。每当有人通过它发送邮件时,一个ContactEvent(接收者、发送者)就会被发送到Esper。现在,我想Esper通知我,当一个特定的Ip地址在10分钟内发出超过50个联系事件时

下面代码中的语法错误是由于代码简化造成的

create window ContactWindow.win:time(10 min) as select ipAddress, mail from ContactEvent 
然后我像这样填充它:

insert into ContactWindow select ipAddress, mail from ContactEvent";
最终,会有一个类似以下内容的eventlistener:

select ip, count(ip) as cnt from ContactWindow  group by ip
这确实有效。这并不是我想要的,因为我的语句侦听器每次发出时,ip地址的消息计数都会发生变化。(“IP X在过去10分钟内发送了43条消息”,“IP X在过去10分钟内发送了44条消息”…) 我只想看到一个事件告诉我“IP X在过去10分钟内超过50条消息”,另一个事件告诉我,它现在已经下降到该边界以下

有没有办法让它发挥作用

也许可以加一个。在你的例子中

select ip, count(ip) as cnt from ContactWindow  group by ip having count(ip)>50