巧用 WAS
CE 为应用程序“瘦身”
通常,开发人员在开发 Java EE 应用程序时会用到各种各样的 Jar 包以支持应用程序的功能,这些 Jar 包有 JDBC 驱动包、JMS 服务器、Web 服务器包,JSF 或者 Dojo 工具包等等,在开发前期需要花很多的时间去下载并配置这些组件,而在分发部署时不得不将这些 jar 包和实际的应用程序一起打包,例如放在分发包的 /lib 目录,然后进行部署,这样导致应用程序分发包的“身材”过于臃肿,而核心应用程序可能只占整个分发包的很小一部分。另外不同的应用程序之间重用这些已有的组件,不得不通过配置类似 classpath 这样的参数,非常不便。
作为一个完全通过 Java EE5 认证、基于开源技术的的轻量级应用服务器,WAS CE 在其发行版中已经包含了很多 Java EE 服务器所需的必要技术组件,例如 Apache Tomcat 作为 Web 服务器、OpenEJB 作为 EJB 服务器、Apache ActiveMQ 作为 Message 服务器、Apache Derby 作为数据库服务器等,这些组件已经足够用户开发符合 Java EE 标准的应用程序,不仅如此, WAS CE 中还提供了很多额外的组件如 Dojo、Apache MyFace 等流行的开发框架的实施组件和多种数据库服务器的驱动程序,以尽可能支持应用程序的灵活性,这些组件都以模块 (Module) 的形式存放在存储库中,只要通过简单配置 WAS CE 部署计划(Deployment plan)文件,开发人员在分发部署时只需要分发自己的核心应用程序就行了。
下面我们将简单介绍 WAS CE 组件存储库中模块的结构以及如何重用现有的模块。
WAS CE 组件存储库位于
图中log4j-1.2.14.jar 的模块标识就是 log4j/log4j/1.2.14/jar
因此只要遵循这个目录结构,用户就可以按照自己的需要添加相应的
jar 包,最简单的添加方式是通过
WAS CE 提供的管理控制台,然后指定对应的字段,WAS
CE 服务器会自动在
...
...
如果不指定
当用户需要在这台
WAS CE 服务器上部署其他应用程序时,而这些应用程序也依赖于先前已经加入到
WAS CE 组件存储库中的模块,那么用户只需要在新的部署计划文件中定义
如果用户有多个定制的
jar 包或者 .class
文件,不希望每次都通过管理控制台去添加
jar 包或者将这些 class
文件打包后再添加,也不希望对这些
jar 包进行更细粒度的管理,怎么办呢?针对这种情况,WAS
CE 也提供了一个很好的解决方案。在
我们可以看到有两个目录
.classes 和 lib,开发人员只需要将
.class 文件或者 jar
包拷贝到对应的目录,然后在部署计划文件中添加如下字段,就可以在应用程序中引用所有存在于这个目录中的内容。
...
...
这样依然可以实现核心应用程序和通用组件之间的解耦。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2331216/viewspace-600630/ ,如需转载,请注明出处,否则将追究法律责任。