语法

create context context_name
start start_condition
end end_condition

如:

// 9点到17点此context才可用(以引擎的时间为准)。如果事件进入的事件不在此范围内,则不受该context影响
create context NineToFive start (0, 9, *, *, *) end (0, 17, *, *, *)

例子

import com.espertech.esper.client.*;/*** @author yaoyuan2* @date 2019/3/26*/
public class NoOverLappingContextTest {public static void main(String[] args) {EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();EPAdministrator admin = epService.getEPAdministrator();EPRuntime runtime = epService.getEPRuntime();String start = StartEvent.class.getName();String end = EndEvent.class.getName();String other = OtherEvent.class.getName();// 以StartEvent事件作为开始条件,EndEvent事件作为结束条件String epl1 = "create context NoOverLapping start " + start + " end " + end;String epl2 = "context NoOverLapping select * from " + other;admin.createEPL(epl1);EPStatement state = admin.createEPL(epl2);state.addListener(new UpdateListener() {@Overridepublic void update(EventBean[] newEvents, EventBean[] oldEvents) {if (newEvents != null) {EventBean event = newEvents[0];System.out.println("Class:" + event.getUnderlying().getClass().getName() + ", id:" + event.get("id"));}}});StartEvent s = new StartEvent();System.out.println("sendEvent: StartEvent");runtime.sendEvent(s);OtherEvent o = new OtherEvent();o.setId(2);System.out.println("sendEvent: OtherEvent");runtime.sendEvent(o);EndEvent e = new EndEvent();System.out.println("sendEvent: EndEvent");runtime.sendEvent(e);OtherEvent o2 = new OtherEvent();o2.setId(4);System.out.println("sendEvent: OtherEvent");runtime.sendEvent(o2);}
}
class StartEvent
{
}class EndEvent
{
}
class OtherEvent
{private int id;public int getId(){return id;}public void setId(int id){this.id = id;}
}

输出

sendEvent: StartEvent
sendEvent: OtherEvent
Class:com.ebc.NoOverLappingContext.OtherEvent, id:2
sendEvent: EndEvent
sendEvent: OtherEvent

由此看出,在NoOverLapping这个Context下监控OtherEvent,必须是在StartEvent被触发才能监控到,所以在EndEvent发送后,再发送一个OtherEvent是不会触发Listener的。

转载于:https://www.cnblogs.com/yaoyuan2/p/10601598.html

esper(4-3)-Non-Overlapping Context相关推荐

  1. 独家 | 图解BiDAF中的单词嵌入、字符嵌入和上下文嵌入(附链接)

    作者:Meraldo Antonio 翻译:张玲 校对:吴金笛 本文约5200字,建议阅读15分钟. 本文重点讲解机器问答任务中常见机器学习模型BiDAF是如何利用单词.字符和上下文3种嵌入机制将单词 ...

  2. Android判断用户是否已完成设置向导(开机向导)

    Android判断用户是否已完成设置向导(开机向导) inline val Context.isDeviceProvisioned: Booleanget() = Settings.Global.ge ...

  3. git-config Manual Page(机翻版)

    Git-config手册页 名称 git-config-获取并设置存储库或全局选项 SYNOPSIS Git config[-type=][-fixed-value][-show-resource][ ...

  4. Linux进程管理+内存管理:进程切换的TLB处理(ASID-address space ID、PCID-process context ID)

    目录 一.前言 二.单核场景的工作原理 1.block diagram 2.绝对没有问题,但是性能不佳的方案 3.如何提高TLB的性能? 4.特殊情况的考量 4.进一步提升TLB的性能 - ASID( ...

  5. MybatisPlus报错: org.apache.velocity.context.Context(已解决)

    MybatisPlus报错: org.apache.velocity.context.Context(已解决) 报错如图所示: 原因是缺少了依赖,解决方案如下: pom.xml文件当中加入veloci ...

  6. SQL Server安全(6/11):执行上下文与代码签名(Execution Context and Code Signing)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  7. Non-exhaustive, Overlapping Clustering《非详尽的、可重叠的聚类》论文算法的解读(学习笔记)

    论文原文 https://pubmed.ncbi.nlm.nih.gov/30080141/ 论文目的 实现类簇的可重叠性与离群点数量的控制. 目标函数 传统K-Means算法的目标函数为: 众所周知 ...

  8. R-CNN论文精读(论文翻译)

    文章目录 摘要 1.介绍 2.目标检测与R-CNN 3.可视化,融合和模型的错误 4. ILSVRC2013检测数据集 5.语义分割(略) 6.结论 附录 摘要 Object detection pe ...

  9. 【论文总结】Incremental Learning of Object Detectors without Catastrophic Forgetting(附翻译)

    Incremental Learning of Object Detectors without Catastrophic Forgetting 无灾难性遗忘的增量学习目标检测器 论文地址:https ...

  10. SegFormer论文记录(详细翻译)

    SegFormer论文记录 代码:GitHub - NVlabs/SegFormer: Official PyTorch implementation of SegFormer 论文:https:// ...

最新文章

  1. FZ35恒流电子负载检测测试
  2. 十三、limit 的使用
  3. 【图像处理】——图像滤波(Python+opencv实现三种方法:均值滤波、中值滤波、高斯滤波等)
  4. linux 敏感标记 权限,闲话Linux系统安全(二)——强制访问控制(MAC)
  5. 国土空间规划项目资料获取的途径
  6. 实现用户裂变的5大原则
  7. SpringMVC返回一个JSON对象到界面
  8. 《MPLS在Cisco IOS上的配置》一2.3 配置命令参考
  9. opencv实现超像素分割(slic实现)
  10. php 解决Chrome Cookie 的 SameSite 属性导致无法写入cookie问题
  11. 怎么用ping命令测试网速
  12. 空间四点定位原理及应用
  13. word怎么去掉页眉和页脚
  14. 几何画板用迭代法作图的技巧
  15. U盘读不出来的解决办法
  16. VUEPC和手机屏幕适配
  17. executeQuery、executeUpdate和execute
  18. 变量和简单数据类型(化浮为整)
  19. 泛在操作系统功能特点
  20. 多商户商城系统功能拆解02讲-平台端工作台

热门文章

  1. 防止cpu 一直被占用 sleep(0) 和 yield
  2. tornado 学习笔记17 HTTPServerRequest分析
  3. SQL 快速入门2.1
  4. Visual Studio 内存泄漏检测方法
  5. 【原】P2P应用的探究
  6. 深入浅析HTML5中的article和section的区别
  7. koa --- 监听路由,并使用模板引擎渲染显示
  8. javascript --- Sortable一个拖拽的接口
  9. Linux中的cron计划任务配置详解
  10. 利用VOIP电话通信服务,他骗得18亿美元