我想用NEsper测量具有唯一Id的汽车的时间。我的问题是,一条路上有几辆车。这条路有预先定义的步骤。我想开始为每一辆处于第一步的独特赛车停止计时,直到这辆车接收到最后一步。
select ice.* from pattern[ice = IncomingCarEvent -> every timer:interval(1 sec) and not LastStepEvent]问题是,我不知道如何区分具有给定Id的汽车。在此示例中,如果其中一辆汽车接收到最后一步,则事件将不再触发。
发布于 2014-11-26 20:08:04
我不是很清楚为什么你测量,直到最后一步,模式是“不是最后一步”。分区可以通过关联模式中的事件来完成,例如"a=A => B(id=a.id)“。您还可以使用上下文声明进行分区,该声明位于此链接中:http://esper.codehaus.org/esper-5.1.0/doc/reference/en-US/html_single/index.html#context_def_keyed,或者您可能会发现匹配识别更易于使用,因为它更像正则表达式那样,采用更分步的方法来表示匹配。
https://stackoverflow.com/questions/27128462
复制相似问题