原创文章 转载请注明出处

  1. package com.hp.iot.engine.esper;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import com.alibaba.fastjson.JSON;
  9. import com.espertech.esper.client.EPAdministrator;
  10. import com.espertech.esper.client.EPRuntime;
  11. import com.espertech.esper.client.EPServiceProvider;
  12. import com.espertech.esper.client.EPServiceProviderManager;
  13. import com.espertech.esper.client.EPStatement;
  14. import com.espertech.esper.client.EventBean;
  15. import com.espertech.esper.client.UpdateListener;
  16. import org.springframework.context.support.FileSystemXmlApplicationContext;
  17.  
  18. public class EsperTest {
  19.  
  20. public static void main(String[] args) {
  21. // TODO Auto-generated method stub
  22. EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();
  23.  
  24. EPAdministrator admin = epService.getEPAdministrator();
  25. Map<String, Object> address = new HashMap<String, Object>();
  26. Map<String, Object> Person = new HashMap<String, Object>();
  27. Map<String, Object> children = new HashMap<String, Object>();
  28. children.put("name", String.class);
  29. children.put("age", int.class);
  30.  
  31. admin.getConfiguration().addEventType("children_test", children);
  32.  
  33. address.put("road", String.class);
  34. address.put("buildnum", int.class);
  35. address.put("host", String.class);
  36. admin.getConfiguration().addEventType("address_test", address);
  37.  
  38. Person.put("name", String.class);
  39. Person.put("age", int.class);
  40. Person.put("addr", "address_test");
  41. Person.put("children", "children_test[]");
  42. admin.getConfiguration().addEventType("person_test", Person);
  43.  
  44. String epl = "select * from person_test where addr.road=\"r1\"";
  45.  
  46. EPStatement state = admin.createEPL(epl);
  47. state.addListener(new UpdateListener() {
  48.  
  49. public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
  50. // TODO Auto-generated method stub
  51. System.out.println("test %%%%%%%%%%%%%");
  52. String json = JSON.toJSONString(paramArrayOfEventBean1[0]);
  53. System.out.println("json %%%%%%%%%%%%%" + json);
  54.  
  55. }
  56. });
  57.  
  58. String epl2 = "select * from person_test where children[1].name=\"ch2\"";
  59.  
  60. EPStatement state2 = admin.createEPL(epl2, "ep2", null);
  61. System.out.println("----------------------" + state2.getText());
  62. state2.addListener(new UpdateListener() {
  63.  
  64. public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
  65. // TODO Auto-generated method stub
  66. System.out.println("index ############");
  67. String json = JSON.toJSONString(paramArrayOfEventBean1[0]);
  68. System.out.println("json ############" + json);
  69.  
  70. }
  71. });
  72.  
  73. String epl3 = "select * from person_test";
  74. EPStatement state3 = admin.createEPL(epl3, "epl3", null);
  75. System.out.println("----------------------" + state2.getText());
  76. state2.addListener(new UpdateListener() {
  77.  
  78. public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
  79. // TODO Auto-generated method stub
  80. System.out.println("------------------epl 3");
  81. }
  82. });
  83.  
  84. EPRuntime runtime = epService.getEPRuntime();
  85.  
  86. Map<String, Object> add = new HashMap<String, Object>();
  87. add.put("road", "r1");
  88. add.put("buildnum", 2);
  89. add.put("host", "host1");
  90.  
  91. Map<String, Object> ch1 = new HashMap<String, Object>();
  92. ch1.put("name", "ch1");
  93. ch1.put("age", 2);
  94.  
  95. Map<String, Object> ch2 = new HashMap<String, Object>();
  96. ch2.put("name", "ch2");
  97. ch2.put("age", 2);
  98.  
  99. Map[] child = new HashMap[2];
  100. child[0] = ch1;
  101. child[1] = ch2;
  102.  
  103. Map<String, Object> per = new HashMap<String, Object>();
  104. per.put("name", "roger");
  105. per.put("age", 2);
  106. per.put("addr", add);
  107. per.put("children", child);
  108. runtime.sendEvent(per, "person_test");
  109.  
  110. }
  111.  
  112. }

esper 事件引擎,各种事件类型示例代码的更多相关文章

  1. 左右JAVA示例代码事件分发和监督机制来实现-绝对原创有用

    文章标题:左右JAVA示例代码事件分发和监督机制来实现 文章地址: http://blog.csdn.net/5iasp/article/details/37054171 作者: javaboy201 ...

  2. javascript权威指南第13章 事件示例代码

    html 部分 <!DOCTYPE html> <html> <head> <title>Event Bubling Example</title ...

  3. c# 使用hook来监控鼠标键盘事件的示例代码

    如果这个程序在10几年前,QQ刚刚兴起的时候,有了这个代码,就可实现盗号了. 当然使用钩子我们更多的是实现"全局快捷键"的需求. 比如 程序最小化隐藏后要"某快捷键&qu ...

  4. WPF自定义RoutedEvent事件示例代码

    ************************* 引用网友,便于查找所用..... 创建自定义路由事件和应用分为6个步骤: (1)自定义路由事件参数对象 (2)声明并注册路由事件 (3)为路由事件添 ...

  5. SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念

    本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 在第一二节中,我们创建了一些简单的.类似典型SQL Trace的扩展事件会话.在此过程中,介绍了很多扩展事 ...

  6. 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    一. iOS 项目简介 1. iOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类 ...

  7. javascript 事件编程之事件(流,处理,对象,类型)

    1. 事件处理 1.1. 绑定事件方式 1)行内绑定 语法: //最常用的使用方式 <元素 事件="事件处理程序"> 2)动态绑定 //结构+样式+行为分离的页面(ht ...

  8. Python建立时间事件引擎原理剖析

    作为python小白,学习量化交易的曲线是非常陡峭的,唯一好的办法就是一点点啃代码.以下代码案例来自vnpy的引擎代码. # encoding: UTF-8 #定义时间事件 EVENT_TIMER = ...

  9. 从spring源码汲取营养:模仿spring事件发布机制,解耦业务代码

    前言 最近在项目中做了一项优化,对业务代码进行解耦.我们部门做的是警用系统,通俗的说,可理解为110报警.一条警情,会先后经过接警员.处警调度员.一线警员,警情是需要记录每一步的日志,是要可追溯的,比 ...

随机推荐

  1. TFS和VSS的简单对比

    概念: TFS:Team Foundation Server(通常记作“TFS”) 是一种为 Microsoft 产品提供 源代码管理. 数据收集. 报告和项目跟踪,而为协作 软件开发 的项目. 可作 ...

  2. 查看Eclipse中的jar包的源代码:jd-gui.exe

    前面搞了很久的使用JAD,各种下载插件,最后配置好了,还是不能用,不知道怎么回事, 想起一起用过的jd-gui.exe这个工具,是各种强大啊!!! 只需要把jar包直接扔进去就可以了,非常清晰,全部解 ...

  3. Android 相机对焦模式

    Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE  Camer ...

  4. MySQL入门书籍和方法分享

    本文罗列了一些适用于MySQL及运维入门和进阶使用的书籍. 背景:各大论坛上总是有很多同学咨询想学习数据库,或者是为入行DBA做些准备.几年来作为一个MySQL DBA的成长过程有一些积累和感悟,特此 ...

  5. FFmpeg Filters Images 参数及效果图

    FFmpeg Filters Images 参数及效果图(chm) 下载 ffmpeg filters images 352 si.chm (27.98M) 下载 ffmpeg filters onl ...

  6. eclipse 向HDFS中创建文件夹报错 permission denied

    环境:win7  eclipse    hadoop 1.1.2 当执行创建文件的的时候, 即: String Path = "hdfs://host2:9000"; FileSy ...

  7. Git入门学习和应用笔记

    >>关于Git 1.BitMover公司收回Linux社区的BitKeeper免费使用权,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git.2.什么是集中式版本控制系 ...

  8. wifi开发总结

    转自:http://blog.csdn.net/kakaxi1o1/article/details/35625019 Unable to open connection to supplicant o ...

  9. JS 中的foreach和For in比较

    使用方式举例如下: <script type="text/javascript"> var jsonranklist=[{"name":" ...

  10. ytu 1938:首字母变大写(水题)

    首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 110  Solved: 43[Submit][Status][Web Board] Desc ...