esper 事件引擎,各种事件类型示例代码
2016-03-09 14:18
609 查看
原创文章 转载请注明出处
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"); } }
相关文章推荐
- java程序语言之灵魂
- 关于Spring定时任务(定时器)用法
- Java 征途:行者的地图
- Java ServletContext 详解
- Java容器Set的使用
- 希尔排序
- ps -ef |grep java
- cxf与spring整合
- C++ 中malloc函数详解(转载)
- 我的第一篇博客 - java 环境变量设置
- 浅析Java设计模式 - 单例模式
- 路径规划(最短路径)算法C#实现
- C# 加密(Encrypt) 解密(Decrypt) 操作类 java与 C# 可以相互加密解密
- 【笔记】《C#大学教程》- 第7章 数组
- C# yield return用法分析
- Java--编码集与序列化
- c语言函数---M
- VisualStudio代码调试输出跟踪
- JavaFX设置面板不捕获鼠标事件(透明或不计算边界)
- 数独程序