欢迎来到天天文库
浏览记录
ID:51657583
大小:136.50 KB
页数:9页
时间:2020-03-27
《资源高效管理与EJB环境.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、资源管理与EJB环境西安电子科技大学软件学院例子背景定义一个简单的sessionbean,提供简单的币值换算的功能。币值换算要用到汇率,汇率是一个会经常变化的值,因此将汇率声明为环境项目(EnvironmentEntry),在部署时可以修改汇率,bean提供服务时根据EJB环境中的汇率值进行币值换算。西安电子科技大学软件学院编写Remote接口定义了两个方法币值换算dollarToYen:美元到日元换算yenToEuro:日元到欧元换算packageFlexConverter;importjavax.ejb.;importjava.rmi.;
2、publicinterfaceConverterextendsEJBObject{publicdoubledollarToYen(doubledollars)throwsRemoteException;publicdoubleyenToEuro(doubleyen)throwsRemoteException;}西安电子科技大学软件学院Home接口定义了一个create方法返回Converter类型packageFlexConverter;importjava.io.Serializable;importjava.rmi.RemoteExcep
3、tion;importjavax.ejb.;importjavax.naming.;publicinterfaceConverterHomeextendsEJBHome{publicConvertercreate()throwsRemoteException,CreateException;}西安电子科技大学软件学院编写SessionBean类publicclassConverterBeanimplementsSessionBean{publicdoubledollarToYen(doubledollars){ContextinitCtx,m
4、yEnv;DoubledollarsToYen=null;try{initCtx=newInitialContext();myEnv=(Context)initCtx.lookup("java:comp/env");dollarsToYen=(Double)myEnv.lookup("dollarsToYen");}catch(NamingExceptionne){ne.printStackTrace();}returndollarsToYen.doubleValue()dollars;}publicdoubleyenToEuro(doubl
5、eyen){//类似dollarToYen的实现}publicConverterBean(){}publicvoidejbCreate(){}publicvoidejbRemove(){}publicvoidejbPassivate(){}publicvoidejbActivate(){}publicvoidsetSessionContext(SessionContextContext){}}商业方法实现:从EJB环境中查找环境条目dollarsToYen(美元对日元汇率),根据其值进行币值换算。西安电子科技大学软件学院组装/部署EJB创建E
6、JB时增加环境项目:dollarsToYenyenToEuro西安电子科技大学软件学院组装/部署EJB创建完EJB也可以修改、添加或删除环境项目西安电子科技大学软件学院客户程序publicclassConverterClient{publicstaticvoidmain(String[]args){try{Contextinitial=newInitialContext();ConverterHomeconverterHome=(ConverterHome)PortableRemoteObject.narrow(initial.lookup(
7、"FlexibleConverterBean"),ConverterHome.class);Converterconverter=converterHome.create();System.out.println("createOK");doubleamount=converter.dollarToYen(100.00);System.out.println("$100equalsYen"+String.valueOf(amount));amount=converter.yenToEuro(100.00);System.out.println
8、("Yen100equalsEuro"+String.valueOf(amount));converter.remove();}catch(Exceptione){
此文档下载收益归作者所有