|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
唉!都是钱闹的1.Swing和.net网页编程开发比较------从市场份额看.net网页编程开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具比来也在忙于公司产物的报警模块的功效开辟,次要用到的就是esper事务处置引擎。关于Esper的了解见博客《对Esper的了解》,这几篇博客也说说esper撑持的几种事务范例。这篇博客先容一下关于POJO对象事务的撑持。
POJO对象的观点就不再赘述了,详细见POJO百科。
Esper关于POJO的撑持是有一些请求,即对每个POJO的公有属性必需有getter办法,详细的POJO对象见上面的代码,
- publicclassApple{
- privateintid;
- privateintprice;
- publicintgetId(){
- returnid;
- }
- publicvoidsetId(intid){
- this.id=id;
- }
- publicintgetPrice(){
- returnprice;
- }
- publicvoidsetPrice(intprice){
- this.price=price;
- }
- }
有了POJO类以后,必要做的操纵就是翻开Esper的事务监听,而且要完成详细POJO对象的EPL语句,详细的代码以下:
- publicclassAppleListenerimplementsUpdateListener{
- @Override
- publicvoidupdate(EventBean[]newEvents,EventBean[]oldEvents){
- if(newEvents!=null){
- Doubleavg=(Double)newEvents[0].get("avg(price)");
- System.out.println("Applesaveragepriceis"+avg);
- }
- }
- }
- Stringproduct=Apple.class.getName();
- Stringepl="selectavg(price)from"+product
- +".win:length_batch(3)";
有了这两个关头的代码以后,就必要举行测试引擎实行POJO事务了。这时候候我们必要将几个POJO类完成,而且将POJO对象传进到引擎中,
- EPServiceProviderepService=EPServiceProviderManager.getDefaultProvider();
- EPAdministratoradmin=epService.getEPAdministrator();
- EPStatementstate=admin.createEPL(epl);
- state.addListener(newAppleListener());
- EPRuntimeruntime=epService.getEPRuntime();
- Appleapple1=newApple();
- apple1.setId(1);
- apple1.setPrice(5);
- runtime.sendEvent(apple1);
- Appleapple2=newApple();
- apple1.setId(2);
- apple1.setPrice(2);
- runtime.sendEvent(apple2);
- Appleapple3=newApple();
- apple1.setId(3);
- apple1.setPrice(5);
- runtime.sendEvent(apple3);
以后实行就可以输入一下的了局:
实在Esper事务处置引擎长短常复杂的,开启引擎,加载响应的EPL语句举行监听,假如有POJO对象出去就会举行EPL语句实行,假如切合前提就会输入。只需可以把EPL语句写好,基础上Esper引擎也就会用了。下一篇先容POJO对象嵌套事务的处置。
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 |
|