复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-8-资源管理与EJB环境

高级Meb技术 J阳a2 Enterprise Edtion
高级Web技术 Java 2 Enterprise Edtion

本次课程内容 资源管理与EJB环境
本次课程内容 ◼ 资源管理与EJB环境

例子背景 定义一个简单的 session bean,提供简单的币值 换算的功能。 币值换算要用到汇率,汇率是一个会经常变化的值,因 此将汇率声明为环境项目( Environment Entry),在 部署时可以修改汇率,bean提供服务时根据EJB环境中 的汇率值进行币值换算
例子背景 ◼ 定义一个简单的session bean,提供简单的币值 换算的功能。 ◼ 币值换算要用到汇率,汇率是一个会经常变化的值,因 此将汇率声明为环境项目(Environment Entry),在 部署时可以修改汇率,bean提供服务时根据EJB环境中 的汇率值进行币值换算

编写 Remote接口 package FlexConverter; import javax.ejb. i import java rmi k public interface Converter extends EJBObject { public double dollarToYen double dollars) throws RemoteException; public double yenToEuro(double yen throws Remote Exception; } ■定义了两个方法币值换算 dollarToYen:美元到日元换算 a yen ToEuro:日元到欧元换算
编写Remote接口 ◼ 定义了两个方法币值换算 ◼ dollarToYen:美元到日元换算 ◼ yenToEuro:日元到欧元换算 package FlexConverter; import javax.ejb.*; import java.rmi.*; public interface Converter extends EJBObject { public double dollarToYen(double dollars) throws RemoteException; public double yenToEuro(double yen) throws RemoteException; }

Home接口 package Flex Converter; import java. io Serializable import java rmi Remote Exception; import javax.ejb. import javax. naming. *i public interface ConverterHome extends EJBHome { public Converter created throws Remote Exception, CreateException; ■定义了一个 create方法 ■返回 Converter类型
Home接口 ◼ 定义了一个create方法 ◼ 返回Converter类型 package FlexConverter; import java.io.Serializable; import java.rmi.RemoteException; import javax.ejb.*; import javax.naming.*; public interface ConverterHome extends EJBHome { public Converter create() throws RemoteException, CreateException; }

编写 Session Bean类 public class Converter Bean implements Session Bean public double dollar ToYen(double dollars Context initCtx Double dollars ToYen null try initCtx new InitialContext(; myEnv=(Context)initCtx lookup(java: comp/env); dollarsToYen Double)my Env. lookup dollarsToYen ); catch(NamingException nek ne printstackTrace o; return dollarsToYen doubleValueo* dollars; public double yen ToEuro(double yen )类似 dollar ToYe的实现 } public Converter Beano合 商业方法实现 public void ejbcreate()仆 从EB环境中查找环境 public void ejbRemoveot 条目 dollarsToYen(美元对日元汇 public void ejbPassivateot 率),根据其值进行币值换算 public void ejbActivateot public void setSession Context(Session Context Cont }
编写Session Bean类 public class ConverterBean implements SessionBean{ public double dollarToYen(double dollars){ Context initCtx, myEnv; Double dollarsToYen = null; try{ initCtx = new InitialContext(); myEnv = (Context)initCtx.lookup("java:comp/env"); dollarsToYen = (Double)myEnv.lookup("dollarsToYen"); }catch(NamingException ne){ ne.printStackTrace(); } return dollarsToYen.doubleValue() * dollars; } public double yenToEuro(double yen){ //类似dollarToYen的实现 } public ConverterBean() {} public void ejbCreate() {} public void ejbRemove() {} public void ejbPassivate() {} public void ejbActivate() {} public void setSessionContext(SessionContext Context) {} } 商业方法实现: 从EJB环境中查找环境 条目dollarsToYen(美元对日元汇 率),根据其值进行币值换算

组装部署EJB New Enterprise Bean Wizard-Environment Entries Please list any environment entries that are referenced in the code of the Enterprise Bean, as well as their Java type Optionally, you can provide descriptions and default values to be used for these entries Coded Entry T Value dollarsToYen Double Double 创建EB时增加环境项目: dollarsToYen en Toeuro Hel Cancel Back Next Finis
组装/部署EJB 创建EJB时增加环境项目: dollarsToYen yenToEuro

组装部署EJB Application Deployment Tool: ConverterApp le Edit Tools Help ♀口Fles iles. Applica tio ns. GonverterApp FlexGonvJAR GonverterBean ♀□ Applications Reso urce Env. Refs Resource Refs SecurityTransactions e◇ BankApp General Env Entries EJB Refs 9& FlexcowJAR Environment Entries Refe fenced in Code O Converter Coded Entry Typ value e◆ local objects do‖ arsToYen Double 1210 e◇ NewBankApp renToeuro Double 00077 e◆ TaxBeanApp ♀ Servers ♀ localhost 创建完EB也可以修改、添加或删 除环境项目
组装/部署EJB 创建完EJB也可以修改、添加或删 除环境项目

客户程序 public class ConverterClient public static void main( String[]args)t Xt Context initial new Initial ContextO; ConverterHome converterHome=(ConverterHome)PortableRemoteobject narrow( initial lookup( FlexibleConverterBean"), ConverterHome class; Converter converter converterHome create o; System. out println("create OK) double amount converter dollarToYen (100.00); System out printin ("$100 equals Yen"+ String valueof(amount)) amount converter yenToEuro(100.00); System. out printin ("Yen 100 equals Euro"+ String valueof(amount)); converter. remove O; catch(Exception et eprintstackTrace O;
客户程序 public class ConverterClient{ public static void main(String[] args){ try{ Context initial = new InitialContext(); ConverterHome converterHome = (ConverterHome)PortableRemoteObject.narrow( initial.lookup("FlexibleConverterBean"), ConverterHome.class); Converter converter = converterHome.create(); System.out.println("create OK"); double amount = converter.dollarToYen(100.00); System.out.println("$100 equals Yen " + String.valueOf(amount)); amount = converter.yenToEuro(100.00); System.out.println("Yen 100 equals Euro " + String.valueOf(amount)); converter.remove(); }catch(Exception e){ e.printStackTrace(); } } }

目标 当汇率发生变化时,仅需要修改环境项目的值,而 不需要修改Bean的源代码
目标 ◼ 当汇率发生变化时,仅需要修改环境项目的值,而 不需要修改Bean的源代码
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-11-JavaEE 5、EJB3.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-10-安全性控制..ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-7-部署EJB应用.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-6-创建客户程序.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-5-编写Entity Bean.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB开发-4-创建Session EJB.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-3-主要接口设计原则.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-2-体系结构.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB基础-1-概述.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_servletandjsp.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_Java Naming and Directory Interface JNDI.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_Java Message Service JMS.ppt
- 复旦大学:《高级Web技术》3-应用web_3-J2EE-组件-服务-通讯_教学课件PPT_javabean-javamail-tld-jdbc.ppt
- 复旦大学:《高级Web技术》3-应用web_2-J2EE概述_教学课件PPT_J2EE overview.ppt
- 复旦大学:《高级Web技术》3-应用web_1-分布式计算与中间件概述_教学课件PPT_分布式计算与中间件概述.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_6-XML应用_[07级]教学课件PPT_xml应用.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_5-XML链接语言-XLL_[07级]教学课件PPT_xml-xll.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_4-XML程序接口-java&XML_[07级]教学课件PPT_xml-java.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_3-XML转换标准-XSL_[07级]教学课件PPT_xml-xsl.ppt
- 复旦大学:《高级Web技术》2-Web上的数据标准-XML_2-XML描述和验证规范-DTD-SCHEMA_[07级]教学课件PPT_xml-schema.ppt
- 复旦大学:《高级Web技术》3-应用web_4-EJB_教学课件PPT_EJB高级-9-事务处理.ppt
- 复旦大学:《高级Web技术》3-应用web_5-J2EE框架_spring_教学课件PPT_Introduction to Spring Framework.ppt
- 复旦大学:《高级Web技术》3-应用web_5-J2EE框架_教学课件PPT_J2EE模式与框架struts(J2EE模式与框架简介).ppt
- 复旦大学:《高级Web技术》4-Service web_1-SOA和WS概述_[07级]教学课件PPT_SOA Introduction.ppt
- 复旦大学:《高级Web技术》4-Service web_1-SOA和WS概述_[07级]教学课件PPT_Web Service概述.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_SOAP.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_Tomcat与SOAP&AXIS集成.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_UDDI.ppt
- 复旦大学:《高级Web技术》4-Service web_2-soap&wsdl&uddi_[07级]教学课件PPT_WSDL.ppt
- materials_5-语义web_Web Ontology Language:OWL.pdf
- materials_5-语义web_A Quick Introduction to OWL Web Ontology Language.ppt
- materials_5-语义web_RDF 入门 推荐标准 TransWiki - W3CHINA.ORG 开放翻译计划(OTP).doc
- 高级Web技术:RDF介绍.ppt
- materials_5-语义web_Languages for Semantic Web(台湾大同大學).ppt
- materials_5-语义web_SemanticWorks User and Reference Manual.pdf
- materials_5-语义web_Where are the Semantics in the Semantic Web.pdf
- materials_5-语义web_语义Web服务 Semantic Web Services.pdf
- Web3D_2-Web上的数据标准-XML_web3D 高级Web技术 Web3D.ppt
- Web3D_2-Web上的数据标准-XML_《Sun elearning 大学》项目实施手册v3.0.doc
- Web3D_资料_2-Web上的数据标准-XML_secondlife完全指南攻略电子书.pdf