esper 事件引擎,各种事件类型示例代码
原创文章 转载请注明出处
- 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 事件引擎,各种事件类型示例代码的更多相关文章
- 左右JAVA示例代码事件分发和监督机制来实现-绝对原创有用
文章标题:左右JAVA示例代码事件分发和监督机制来实现 文章地址: http://blog.csdn.net/5iasp/article/details/37054171 作者: javaboy201 ...
- javascript权威指南第13章 事件示例代码
html 部分 <!DOCTYPE html> <html> <head> <title>Event Bubling Example</title ...
- c# 使用hook来监控鼠标键盘事件的示例代码
如果这个程序在10几年前,QQ刚刚兴起的时候,有了这个代码,就可实现盗号了. 当然使用钩子我们更多的是实现"全局快捷键"的需求. 比如 程序最小化隐藏后要"某快捷键&qu ...
- WPF自定义RoutedEvent事件示例代码
************************* 引用网友,便于查找所用..... 创建自定义路由事件和应用分为6个步骤: (1)自定义路由事件参数对象 (2)声明并注册路由事件 (3)为路由事件添 ...
- SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 在第一二节中,我们创建了一些简单的.类似典型SQL Trace的扩展事件会话.在此过程中,介绍了很多扩展事 ...
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
一. iOS 项目简介 1. iOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类 ...
- javascript 事件编程之事件(流,处理,对象,类型)
1. 事件处理 1.1. 绑定事件方式 1)行内绑定 语法: //最常用的使用方式 <元素 事件="事件处理程序"> 2)动态绑定 //结构+样式+行为分离的页面(ht ...
- Python建立时间事件引擎原理剖析
作为python小白,学习量化交易的曲线是非常陡峭的,唯一好的办法就是一点点啃代码.以下代码案例来自vnpy的引擎代码. # encoding: UTF-8 #定义时间事件 EVENT_TIMER = ...
- 从spring源码汲取营养:模仿spring事件发布机制,解耦业务代码
前言 最近在项目中做了一项优化,对业务代码进行解耦.我们部门做的是警用系统,通俗的说,可理解为110报警.一条警情,会先后经过接警员.处警调度员.一线警员,警情是需要记录每一步的日志,是要可追溯的,比 ...
随机推荐
- TFS和VSS的简单对比
概念: TFS:Team Foundation Server(通常记作“TFS”) 是一种为 Microsoft 产品提供 源代码管理. 数据收集. 报告和项目跟踪,而为协作 软件开发 的项目. 可作 ...
- 查看Eclipse中的jar包的源代码:jd-gui.exe
前面搞了很久的使用JAD,各种下载插件,最后配置好了,还是不能用,不知道怎么回事, 想起一起用过的jd-gui.exe这个工具,是各种强大啊!!! 只需要把jar包直接扔进去就可以了,非常清晰,全部解 ...
- Android 相机对焦模式
Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE Camer ...
- MySQL入门书籍和方法分享
本文罗列了一些适用于MySQL及运维入门和进阶使用的书籍. 背景:各大论坛上总是有很多同学咨询想学习数据库,或者是为入行DBA做些准备.几年来作为一个MySQL DBA的成长过程有一些积累和感悟,特此 ...
- FFmpeg Filters Images 参数及效果图
FFmpeg Filters Images 参数及效果图(chm) 下载 ffmpeg filters images 352 si.chm (27.98M) 下载 ffmpeg filters onl ...
- eclipse 向HDFS中创建文件夹报错 permission denied
环境:win7 eclipse hadoop 1.1.2 当执行创建文件的的时候, 即: String Path = "hdfs://host2:9000"; FileSy ...
- Git入门学习和应用笔记
>>关于Git 1.BitMover公司收回Linux社区的BitKeeper免费使用权,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git.2.什么是集中式版本控制系 ...
- wifi开发总结
转自:http://blog.csdn.net/kakaxi1o1/article/details/35625019 Unable to open connection to supplicant o ...
- JS 中的foreach和For in比较
使用方式举例如下: <script type="text/javascript"> var jsonranklist=[{"name":" ...
- ytu 1938:首字母变大写(水题)
首字母变大写 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 110 Solved: 43[Submit][Status][Web Board] Desc ...