快速业务通道

同时托管J2EE应用程序的多个版本 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ot;WebModule_1071087285887">     <web>       <web-uri>MyBankCMPWebv1.war</web-uri>       <context-root>MyBankCMPWebv1</context- root>     </web>   </module>   <module id="WebModule_1071091542238">     <web>       <web-uri>MyBankCMPWebCommon.war</web- uri>       <context-root>MyBankCMPWebCommon</context- root>     </web>   </module>   <module id="WebModule_1071092618175">     <web>       <web-uri>MyBankCMPWebv2.war</web-uri>       <context-root>MyBankCMPWebv2</context- root>     </web>   </module> </application>

同时托管J2EE应用程序的多个版本(4)

时间:2011-04-02 IBM Indrajit Poddar

JNDI 名称空间冲突

EJB 本地接口是在共享的 JNDI 名称空间中注册的持久性对象引用。J2EE 应用程序的 多个版本在一个单一的 WebSphere 域中使用共同的 WebSphere 名称空间。然而,分配给 不同版本 EJB 本地接口的 JNDI 名称空间之间会产生冲突。为了避免这种冲突,可以直 到部署阶段才将 EJB 本地接口对 JNDI 名称空间的引用绑定。对于 EJB 客户端(例如 Web 应用程序),可以通过 java:comp/env 来引用 EJB,而不是使用硬编码的 JNDI 命 名。在 java:comp/env 环境中对 EJB 的引用是在部署描述符中声明的,并且在部署阶段 将其绑定到适当的 EJB 本地接口引用版本。

样本 2 中的代码展示了如何在应用程序的 java:comp/env 中使用 EJB 引用。图 5 展示了在部署阶段如何为 EJB 本地接口指定 JNDI 名,图 6 展示了在部署阶段如何将 java:comp/env 引用绑定到特定版本的 JNDI 名。

样本 2. 使用 java:comp 来定位 EJB 本地接口 Context ctx = new InitialContext();      accountHome = (AccountHome) javax.rmi.PortableRemoteObject.narrow(        ctx.lookup ("java:comp/env/ejb/Account"),AccountHome.class);

图 5. 在部署阶段为 EJB 本地接口指定 JNDI 名

同时托管J2EE应用程序的多个版本 - 编程入门网

图 6. 在部署阶段将 java:comp/env 绑定到 JNDI 名

同时托管J2EE应用程序的多个版本 - 编程入门网

下表列出了在样本应用程序 MyBank 中使用的所有 JNDI 名:

版本 Account EJB 组件 Transfer EJB 组件
最初版本 类名 com.ibm.mybank.ejb.Account com.ibm.mybank.ejb.Transfer
JNDI 名 ejb/MyBank/Account ejb/MyBank/Transfer
版本 1 类名 com.ibm.mybank.ejb.v1.Account com.ibm.mybank.ejb.Transfer
JNDI 名 ejb/MyBank/v1/Account ejb/MyBank/v1/Transfer
版本 2 类名 com.ibm.mybank.ejb.v1.Account com.ibm.mybank.ejb.Transfer
JNDI 名 ejb/MyBank/v2/Account ejb/MyBank/v2/Transfer

使用 WebSphere Application Server V5 的名称空间转储实用程序可以找到 WebSphere JNDI 名称空间的内容。

外部资源冲突

不同版本的 J2EE 应用程序组件可能需要使用不同版本的外部资源,例如不同版本的 数据库结构(这些不同的数据库结

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号