同时托管J2EE应用程序的多个版本 - 编程入门网
ybank.web.v1. CreateAccount 应该创建类型为 com.ibm.mybank.ejb.v1. Account 的 Account。TransferFunds servlet 使用 Transfer EJB,而 Transfer EJB 在这两个版本中没有变化。因此,TransferFunds servlet 可以 使用两者中任一版本的 Transfer EJB。在部署阶段,改变 Transfer EJB 的版本,就如 同将 EJB 引用( java:comp/env/ejb/Transfer )映射到任一版本(也就是说, /ejb/MyBank/v1/Transfer 和 /ejb/MyBank/v2/Transfer 中的任一个)的 Transfer EJB 的 JNDI 一样简单。由于 Transfer EJB 组件不需要使用 accountHolderName,因此它只 使用基本接口 com.ibm.mybank.ejb.Account 。
图 8. MyBank 应用程序的多版本类结构图 为了确定 Account EJB 接口的适当的版本,Transfer EJB 组件可以使用 AccountServiceLocator( Service Locator模式)。样本 3 给出了 ServiceLocator 接 口的例子,并且样本 6 给出了 ServiceLocator 模式的实现,这个实现可以用来确定 Account EJB 的版本 1。在部署阶段可以通过使用一个环境项(如样本 5 所示)将适当 版本的 ServiceLocator 实现提供给 Transfer EJB 实现。样本 4 展示了可以如何使 ServiceLocator 用于 Transfer EJB 组件。 EJB stub、tie 和可串行化值/传递对象组成了 J2EE 应用程序的客户和服务器间的接 口。EJB stub 和 tie 是在部署阶段从应用程序代码中的 EJB 接口生成的,可串行化值 对象完全是通过应用程序代码来实现的。如果您想将不同版本的客户和服务器组件混合使 用并且使其兼容,那么 EJB stub、tie 和可串行化值对象就需要具备版本兼容性。 样本 3. Account ServiceLocator 接口 同时托管J2EE应用程序的多个版本(6)时间:2011-04-02 IBM Indrajit Poddar样本 4. Transfer EJB 组件中用于得到 AccountServiceLocator 适当版本的代码
样本 5. 指定 ServiceLocator 适当版本的环境项 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |