J2EE应用部署(三):高级篇 (4)
[ 来源:互网络 | 更新日期:2007-09-29 22:03:31 | 浏览次数:8094]
简介:1 解决方案之一 2
App Name
MyDepend1-container.jar
MyDepend2-container.jar
MyWebApp1.war
web1
MyWebApp2.war
web2
第一个EJB模块的manifest声明的Class-Path属性是:
Class-Path: TestUtil1.jar TestUtil3.jar TestUtil6.jar TestUtil7.jar
其他EJB模块和Web应用模块的manifest类路径声明都有所不同,它们是EAR文件包含的七个依赖库的不同组合。Web应用中包含的各个Servlet提供有关执行过程的详细信息,具体请参见各个组件的源代码。
毫无疑问,manifest.mf文件里面声明的类路径有助于提高J2EE应用的模块化。使用这种技术时,我们可以通过一种简单的模式确定哪些EJB应该封装为一个JAR文件,哪些应该封装为另一个JAR文件:
标识出一个参与CMR(Container-Managed Relationship)关系的实体EJB。标识出所有可以从这个源实体EJB通过CMR关系到达的实体EJB。把这个关系图中的EJB封装为一个EJB JAR。为每一组独立的实体EJB关系重复这个过程。
把所有剩余的EJB分别封装成JAR文件。
分析业务和技术方面的需求,如果有必要的话,把多个JAR文件合并成一个。如果修改单个EJB时重新部署多个EJB是可接受的,则可以用单个JAR文件封装多个EJB。
每一个EJB JAR文件必须通过manifest的Class-Path列出其依赖关系。类装载器将自动地解决循环引用和重复引用问题。例如,在前面演示依赖关系的例子中,多个EJB引用了第三个库。但是,虽然存在这种重复引用,EAR类装载器只装载该库一次。
quote:
--------------------------------------------------------------------------------
参考资源:
本文示例源程序:http://210.51.0.82:7001/pub/attachment/2002/3/12668.zip。请参见readme.txt。
IBM WebSphere Application Server http://www-3.ibm.com/software/webservers/appserv/
J2EE 全面简介 http://www-900.ibm.com/developerWorks/java/j2ee/index.shtml
国产Java应用服务器(金蝶中间件有限公司) http://www.apusic.com/
SilverStream应用服务器 http://www.silverstream.com/Website/app/en_US/AppServer
WebLogic Server应用服务器 http://www.weblogic.com/
--------------------------------------------------------------------------------


您的位置:
