Original article reproduced please indicate the source
PackageCom.hp.iot.engine.esper;Importjava.util.ArrayList;ImportJava.util.HashMap;Importjava.util.List;ImportJava.util.Map;ImportCom.alibaba.fastjson.JSON;ImportCom.espertech.esper.client.EPAdministrator;ImportCom.espertech.esper.client.EPRuntime;ImportCom.espertech.esper.client.EPServiceProvider;ImportCom.espertech.esper.client.EPServiceProviderManager;Importcom.espertech.esper.client.EPStatement;ImportCom.espertech.esper.client.EventBean;ImportCom.espertech.esper.client.UpdateListener;ImportOrg.springframework.context.support.FileSystemXmlApplicationContext; Public classEspertest { Public Static voidMain (string[] args) {//TODO auto-generated Method StubEpserviceprovider Epservice =Epserviceprovidermanager.getdefaultprovider (); Epadministrator Admin=Epservice.getepadministrator (); Map<string, object> address =NewHashmap<string, object>(); Map<string, object> person =NewHashmap<string, object>(); Map<string, object> children =NewHashmap<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 (NewUpdatelistener () { Public voidUpdate (eventbean[] paramArrayOfEventBean1, eventbean[] paramArrayOfEventBean2) {//TODO auto-generated Method StubSystem.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 (NewUpdatelistener () { Public voidUpdate (eventbean[] paramArrayOfEventBean1, eventbean[] paramArrayOfEventBean2) {//TODO auto-generated Method StubSystem.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 (NewUpdatelistener () { Public voidUpdate (eventbean[] paramArrayOfEventBean1, eventbean[] paramArrayOfEventBean2) {//TODO auto-generated Method StubSYSTEM.OUT.PRINTLN ("------------------EPL 3"); } }); Epruntime Runtime=Epservice.getepruntime (); Map<string, object> add =NewHashmap<string, object>(); Add.put ("Road", "R1"); Add.put ("Buildnum", 2); Add.put ("Host", "Host1"); Map<string, object> ch1 =NewHashmap<string, object>(); Ch1.put ("Name", "CH1"); Ch1.put ("Age", 2); Map<string, object> CH2 =NewHashmap<string, object>(); Ch2.put ("Name", "CH2"); Ch2.put ("Age", 2); Map[] Child=NewHashmap[2]; child[0] =ch1; child[1] =CH2; Map<string, object> per =NewHashmap<string, object>(); Per.put ("Name", "Roger"); Per.put ("Age", 2); Per.put ("Addr", add); Per.put ("Children", child); Runtime.sendevent (per,"Person_test"); }}
Esper Event engine, sample code for various event types