仓酷云
标题:
JAVA编程:Esper处置嵌套POJO事务仓酷云
[打印本页]
作者:
愤怒的大鸟
时间:
2015-1-18 11:20
标题:
JAVA编程:Esper处置嵌套POJO事务仓酷云
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。这篇博客先容怎样使用Esper来处置POJO的嵌套事务。经由过程上篇博客已晓得详细的Esper引擎是怎样处置POJO对象的了,实在关于嵌套的POJO对象处置也是一样的。
起首创建POJO嵌套对象。
importjava.util.List;
importjava.util.Map;
publicclassPerson{
Stringname;
intage;
List<Child>children;
Map<String,Integer>phones;
Addressaddress;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicList<Child>getChildren(){
returnchildren;
}
publicvoidsetChildren(List<Child>children){
this.children=children;
}
publicMap<String,Integer>getPhones(){
returnphones;
}
publicvoidsetPhones(Map<String,Integer>phones){
this.phones=phones;
}
publicAddressgetAddress(){
returnaddress;
}
publicvoidsetAddress(Addressaddress){
this.address=address;
}
}
packagetest;
publicclassChild{
Stringname;
intgender;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetGender(){
returngender;
}
publicvoidsetGender(intgender){
this.gender=gender;
}
}
packagetest;
publicclassAddress{
Stringroad;
Stringstreet;
inthouseNo;
publicStringgetRoad(){
returnroad;
}
publicvoidsetRoad(Stringroad){
this.road=road;
}
publicStringgetStreet(){
returnstreet;
}
publicvoidsetStreet(Stringstreet){
this.street=street;
}
publicintgetHouseNo(){
returnhouseNo;
}
publicvoidsetHouseNo(inthouseNo){
this.houseNo=houseNo;
}
}
有了这个嵌套的POJO对象以后就和上篇博客的操纵一样了,就是开启引擎,誊写响应的营业EPL语句举行事务监听。
classAppleListenerimplementsUpdateListener{
@Override
publicvoidupdate(EventBean[]newEvents,EventBean[]oldEvents){
if(newEvents!=null){
Integerage=(Integer)newEvents[0].get("age");
//List<Child>children=(List<Child>)newEvents[0].get("children");
//Addressaddress=(Address)newEvents[0].get("address");
System.out.println("ageis:"+age);
/*for(inti=0;i<children.size();i++){
}
System.out.println(age);*/
}
}
}
Stringepl="selectage,children,addressfrom"+person
+"wherename=cjq";
这时候候运转以后把持台就会输入,
登录/注册后可看大图
1Z3452138-0.jpg
(14.04 KB, 下载次数: 8)
下载附件
保存到相册
JAVA编程:Esper处置嵌套POJO事务仓酷云
2015-1-18 11:20 上传
详细的POJO嵌套对象进进监听代码以下:
publicstaticvoidmain(String[]args){
EPServiceProviderepService=EPServiceProviderManager
.getDefaultProvider();
EPAdministratoradmin=epService.getEPAdministrator();
Stringperson=Person.class.getName();
Stringepl="selectage,children,addressfrom"+person
+"wherename=cjq";
EPStatementstate=admin.createEPL(epl);
state.addListener(newAppleListener());
EPRuntimeruntime=epService.getEPRuntime();
Personperson1=newPerson();
Addressaddress1=newAddress();
address1.setHouseNo(1);
address1.setRoad("shangdi30");
address1.setStreet("shangdi30");
person1.setAddress(address1);
person1.setAge(7);
List<Child>children1=newArrayList<Child>();
Childchild11=newChild();
child11.setGender(1);
child11.setName("x");
Childchild12=newChild();
child12.setGender(2);
child12.setName("y");
Childchild13=newChild();
child13.setGender(3);
child13.setName("z");
children1.add(child11);
children1.add(child12);
children1.add(child13);
person1.setChildren(children1);
person1.setName("cjq");
Map<String,Integer>phones1=newHashMap<String,Integer>();
phones1.put("zhuzhai",1234567);
phones1.put("jiating",2345678);
person1.setPhones(phones1);
runtime.sendEvent(person1);
Personperson2=newPerson();
Addressaddress2=newAddress();
address2.setHouseNo(1);
address2.setRoad("shangdi30");
address2.setStreet("shangdi30");
person2.setAddress(address2);
person2.setAge(11);
List<Child>children2=newArrayList<Child>();
Childchild21=newChild();
child21.setGender(1);
child21.setName("x");
Childchild22=newChild();
child22.setGender(2);
child22.setName("y");
Childchild23=newChild();
child23.setGender(3);
child23.setName("z");
children2.add(child21);
children2.add(child22);
children2.add(child23);
person2.setChildren(children2);
person2.setName("cjq");
Map<String,Integer>phones2=newHashMap<String,Integer>();
phones2.put("zhuzhai",1234567);
phones2.put("jiating",2345678);
person2.setPhones(phones2);
runtime.sendEvent(person2);
Personperson3=newPerson();
Addressaddress3=newAddress();
address3.setHouseNo(1);
address3.setRoad("shangdi30");
address3.setStreet("shangdi30");
person3.setAddress(address3);
person3.setAge(12);
List<Child>children3=newArrayList<Child>();
Childchild31=newChild();
child31.setGender(1);
child31.setName("x");
Childchild32=newChild();
child32.setGender(2);
child32.setName("y");
Childchild33=newChild();
child33.setGender(3);
child33.setName("z");
children3.add(child31);
children3.add(child32);
children3.add(child33);
person3.setChildren(children3);
person3.setName("cjq2");
Map<String,Integer>phones3=newHashMap<String,Integer>();
phones3.put("zhuzhai",1234567);
phones3.put("jiating",2345678);
person3.setPhones(phones3);
runtime.sendEvent(person3);
}
实在到这里应当对esper处置事务加倍明晰了然了,下篇先容Map事务的esper引擎处置。
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程,
作者:
只想知道
时间:
2015-1-20 20:47
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
活着的死人
时间:
2015-1-24 11:24
是一种为 Internet发展的计算机语言
作者:
爱飞
时间:
2015-1-24 16:47
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
因胸联盟
时间:
2015-2-2 11:06
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
莫相离
时间:
2015-2-18 05:32
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者:
蒙在股里
时间:
2015-2-24 22:02
是一种使用者不需花费很多时间学习的语言
作者:
深爱那片海
时间:
2015-3-1 22:16
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者:
柔情似水
时间:
2015-3-6 19:42
是一种语言,用以产生「小应用程序(Applet(s))
作者:
再现理想
时间:
2015-3-6 21:57
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者:
再见西城
时间:
2015-3-9 20:45
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
愤怒的大鸟
时间:
2015-3-17 01:07
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者:
金色的骷髅
时间:
2015-3-23 10:14
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2