工作原理说明
规则生成逻辑
相关代码
语句处理相关逻辑
视图创建和处理相关逻辑
esper事件热门博客列表通过调用() ()方法创建规则。
创建新规则时,将解析epl语句,生成一个对象,并启动规则。在启动规则的过程中,会将规则中的filter语句提取出来,转换成FilterValueSet,保存在引擎中,供后续的匹配检查处理。
对于统计规则,我们使用外部定时窗口。除了处理过滤器语句之外,EPStatement对象内部还维护了一个ExternallyTimedWindowView,并且有一个TimeWindow对象,该对象带有一个用于存储数据的内置队列。
过滤语句处理
统计类规则,创建视图
事件处理逻辑
相关代码: com . espertech . esper . core . service . epruntimeimpl
聚合处理相关逻辑;com . espertech . esper . EPL . agg . service
通过调用epservice.getruntime()发送事件。sendevent()方法。
对于普通的模板类规则,当事件来临时,遍历当前引擎中的过滤对象,找出匹配规则,然后遍历所有匹配规则,进行处理,取出规则中的输出,触发回调函数,结束处理。
统计规则,当一个事件到来时,之前的处理流程类似于一对一,但是在匹配处理时,会根据时间函数实时清除队列中的过期数据,写入新数据,同时更新聚合结果。当聚合结果满足条件时,触发回调函数,处理结束。
普通模板事件处理
统计类模板视图部分的事件处理
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除