原创文章 转载请注明出处

package com.hp.iot.engine.esper;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSON;
import com.espertech.esper.client.EPAdministrator;
import com.espertech.esper.client.EPRuntime;
import com.espertech.esper.client.EPServiceProvider;
import com.espertech.esper.client.EPServiceProviderManager;
import com.espertech.esper.client.EPStatement;
import com.espertech.esper.client.EventBean;
import com.espertech.esper.client.UpdateListener;
import org.springframework.context.support.FileSystemXmlApplicationContext; public class EsperTest { public static void main(String[] args) {
// TODO Auto-generated method stub
EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(); EPAdministrator admin = epService.getEPAdministrator();
Map<String, Object> address = new HashMap<String, Object>();
Map<String, Object> Person = new HashMap<String, Object>();
Map<String, Object> children = new HashMap<String, Object>();
children.put("name", String.class);
children.put("age", int.class); admin.getConfiguration().addEventType("children_test", children); address.put("road", String.class);
address.put("buildnum", int.class);
address.put("host", String.class);
admin.getConfiguration().addEventType("address_test", address); Person.put("name", String.class);
Person.put("age", int.class);
Person.put("addr", "address_test");
Person.put("children", "children_test[]");
admin.getConfiguration().addEventType("person_test", Person); String epl = "select * from person_test where addr.road=\"r1\""; EPStatement state = admin.createEPL(epl);
state.addListener(new UpdateListener() { public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
// TODO Auto-generated method stub
System.out.println("test %%%%%%%%%%%%%");
String json = JSON.toJSONString(paramArrayOfEventBean1[0]);
System.out.println("json %%%%%%%%%%%%%" + json); }
}); String epl2 = "select * from person_test where children[1].name=\"ch2\""; EPStatement state2 = admin.createEPL(epl2, "ep2", null);
System.out.println("----------------------" + state2.getText());
state2.addListener(new UpdateListener() { public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
// TODO Auto-generated method stub
System.out.println("index ############");
String json = JSON.toJSONString(paramArrayOfEventBean1[0]);
System.out.println("json ############" + json); }
}); String epl3 = "select * from person_test";
EPStatement state3 = admin.createEPL(epl3, "epl3", null);
System.out.println("----------------------" + state2.getText());
state2.addListener(new UpdateListener() { public void update(EventBean[] paramArrayOfEventBean1, EventBean[] paramArrayOfEventBean2) {
// TODO Auto-generated method stub
System.out.println("------------------epl 3");
}
}); EPRuntime runtime = epService.getEPRuntime(); Map<String, Object> add = new HashMap<String, Object>();
add.put("road", "r1");
add.put("buildnum", 2);
add.put("host", "host1"); Map<String, Object> ch1 = new HashMap<String, Object>();
ch1.put("name", "ch1");
ch1.put("age", 2); Map<String, Object> ch2 = new HashMap<String, Object>();
ch2.put("name", "ch2");
ch2.put("age", 2); Map[] child = new HashMap[2];
child[0] = ch1;
child[1] = ch2; Map<String, Object> per = new HashMap<String, Object>();
per.put("name", "roger");
per.put("age", 2);
per.put("addr", add);
per.put("children", child);
runtime.sendEvent(per, "person_test"); } }

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. Python列表的remove方法的注意事项

    为何没有删除列表中的全部元素? 解释: 按照执行顺序,第一个空格被删除之后,后面的元素会前移(变成['空格','空格','12','23']),指针下一次会指向新列表的第二个元素(即初始状态的第三个空 ...

  2. Xenomai 安装准备工作

    一些安装xenomai的参考资料: http://my.oschina.net/hevakelcj/blog/124290 http://blog.sina.com.cn/s/blog_60b9ee1 ...

  3. Windows命令行重命名文件

    RENAME D:\Cache\xyz.html xyz%date:~0,4%%date:~5,2%%date:~8,2%.tar.gz

  4. 搭建CAS单点登录服务器

    最近公司的一个项目需要用到单点登录的功能,之前对单点登录了解得不多.于是网上找了下单点登录的解决方案,发现CAS是个不错的解决方案.于是搭个环境测试了一下.这里记录下测试的详细步骤. 官网:http: ...

  5. Android app主线程UI更新间歇性崩溃的问题

    对App进行开发测试时,偶尔出现app崩溃的问题.日志如下: 10-25 18:44:52.935 15290-15290/com.zzq.cnblogs E/AndroidRuntime﹕ FATA ...

  6. HDU1005&&NEFU67 没有循环节

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. [Android Pro] proguard.cfg 配置文件

    转载自:http://my.oschina.net/zhangzhihao/blog/72393 # ------------------------------------- # android 原 ...

  8. Vim的文件加密

    X----->(大写的X)是加密 取消文件密码:进入文件编辑模式 重复vim加密 只是输入密码时为空(直接回车)--->:w ~ Warning: Using a weak encrypt ...

  9. mysql中char,varchar与text类型的区别和选用

    关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar.但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道...... 于是去查阅了一 ...

  10. 用VMware 11.0虚拟机安装Win8 系统失败,提示“shsucdx can't install”

    研究了好久,网上那些更改bios的方法根本行不通,因为该版本的biso根本没有SATA选项!解决方法很简单,如下图: 重启虚拟机即可.