1. 启动 WAS CE;
2. 打开管理控制台 http://localhost:8080/console,并使用用户名 system,密码 manager 进行登陆;
3. 通过控制台导航栏进入 Applicaions -> Plugin;
图 1. 创建 Plugin Portlet
4. 在下拉框中选中 bank 实例程序,然后点击 Export Plugin 按钮;
图 2. 选择应用程序
5. 在下一个页面点击 Save Plugin Data 按钮;
6. 最后直接点击 Done,将 bank 实例程序直接转换为 plugin。
图 3. 转换 plugin 成功
部署实例程序 car 包
对 car 包安装部署步骤如下:
1. 启动 WAS CE;
2. 打开 Window command 窗口,通过 cd 命令进入到 WAS CE 安装目录下的 bin 目录,然后执行如下命令安装 car 包: deploy.bat -u system -p manager install-plugin C:\wasce_samples-2.1.1.2\plugins\bank-tomcat\target\bank-ear-2.1.1.2.car。
注:如果为非 windows 系统,则使用 terminal 窗口,并使用类似以下命令进行安装:./deploy.sh -u system -p manager install-plugin /wasce_samples-2.1.1.2/plugins/bank-tomcat/target/bank-ear-2.1.1.2.car。
使用 car 包进行部署,我们不需要对数据库进行额外的操作,因为 car 包已经包含对 BandDB 的创建以及数据的初始化工作。
运行实例程序
当 bank 程序安装部署完毕,我们可以打开浏览器,通过地址 http://localhost:8080/bank/ 对其进行访问。
图 4. bank 应用程序主页面
点击 View Exchange Rates,可以看到如下页面:
图 5. bank 利率查看页面
实例程序的依赖关系
通过管理控制台中的 Debug Views –> Dependency Viewer,我们可以查看到 bank 应用程序所依赖的系统 plugin。首先我们在 Enterprise Applications 分类中找到 bank 应用程序的模块 ID:org.apache.geronimo.samples/bank-ear/2.1.1.2/car。其中这个 ID 是由部署计划中的相关元素值按照这样的组合生成的:groupId/artifactId/version/type。通过查看 bank 所对应的 car 包或者 ear 包中的 META-INF\geronimo-application.xml,我们可以看到这样的配置:
清单 3. geronimo-application.xml
<module-id> <groupId>org.apache.geronimo.samples</groupId> <artifactId>bank-ear</artifactId> <version>2.1.1.2</version> <type>car</type> </module-id> |
图 6. Dependency Viewer
找到并展开 org.apache.geronimo.samples/bank-ear/2.1.1.2/car 项之后,我们可以看到它又包含了 AppClientModule, EJBModule, ResourceAdapterModule, WebModule, dependencies 等子项,其中 EJBModule 等子项下除了列出了子模块的 ID 外,还列出了子模块的 dependencies。我们把所有的这些 dependencies 下列出的系统模块进行汇总和整理,我们就可以得到 bank 应用程序所依赖的所有系统 plugin:
- org.tranql/tranql-connector-derby-embed-local/1.4/rar
- org.apache.geronimo.configs/j2ee-server/2.1.4/car
- org.apache.geronimo.configs/system-database/2.1.4/car
- org.apache.geronimo.configs/transaction/2.1.4/car
- org.apache.geronimo.configs/openjpa/2.1.4/car
- org.apache.geronimo.configs/openejb/2.1.4/car
- org.apache.geronimo.configs/tomcat6/2.1.4/car
- org.apache.geronimo.samples/bank-ear/2.1.1.2/car
- org.apache.geronimo.configs/jasper/2.1.4/car
- org.apache.geronimo.configs/j2ee-corba-yoko/2.1.4/car
- org.apache.geronimo.configs/axis/2.1.4/car
- org.apache.geronimo.configs/axis2/2.1.4/car
通过这种方式,我们可以查到我们的应用程序需要依赖哪些系统 plugin。当我们进行以功能为中心的服务器定制时,这个 plugin 列表,再加上 WAS CE Assemblies :: Boilerplate Minimal,就是我们需要选择的最小 plugin 集合。当然我们也可以根据实际的需要,在此之外选择更多其他功能的 plugin,比如支持热部署的 plugin 等。而当我们进行以应用程序为中心的服务器定制时,我们就不需要关心这个应用程序所依赖的系统 plugin 列表,就像我们前面提到过的,在以应用程序为中心的服务器定制中,只要选中代表我们应用程序的一个或者多个 plugin 以后,WAS CE 的 plugin 系统会自动帮我们识别和处理这些必要的依赖关系。
服务器定制的方法
WAS CE 提供了三种不同的方法来实现更轻量级服务器的定制:通过管理控制台,使用 Gshell 命令,或者通过 WAS CE Eclipse Plugin (本文以下简称 WEP)。用户可以根据应用程序生命周期的不同阶段或者个人的喜好,选择最快捷的方式进行定制操作。
以下的演示采用以应用程序为中心的方法,并且根据前面介绍的步骤已经安装部署了 bank 的 car 包。所以我们在选择 plugin 列表的时候只需要选择如下 plugin:
- WASCE Assemblies :: Boilerplate Minimal
- Geronimo Samples :: bank Plugin for Tomcat
如果前面选择了 bank 的 ear 包进行安装部署,那么在选择 plugin 列表的时候请选择如下 plugin:
- WASCE Assemblies :: Boilerplate Minimal
- bank-ear
- Geronimo Plugins, Console :: Tomcat
- Geronimo Plugins, Derby
- Geronimo Plugins, System Database :: Console (Tomcat)
通过管理控制台定制 WAS CE 服务器
1. 启动 WAS CE;
2. 假设 WAS CE 安装在本机,在浏览器中打开管理控制台 http://localhost:8080/console,并使用用户名 system,密码 manager 进行登陆;
3. 通过控制台导航栏进入 Applications -> Plugins;
4. 在 Assemble Server portlet 中,点击 Assemble a server 按钮;
图 7. 服务器定制 Portlet(管理控制台)
5. 给定制的服务器进行命名。其中 Assembly target path 为定制服务器的非压缩版路径,默认值 var/temp/assembly 为相对于 WAS CE 安装目录的相对路径。同时,根据 Assembly format 的值,还将为定制服务器生成一个压缩版本。
图 8. 为定制服务器命名(管理控制台)
6. 在同一页面中,为定制服务器选择 plugin 列表。其中 WASCE Assemblies :: Boilerplate Minimal 是保证定制出来的服务器能正常启动等必选的 plugin。最后,点击 Assemble 按钮。
图 9. 为定制服务器选择 plugin(管理控制台)
7. 在接下来的页面中,将列出所有被选中的 plugin 信息。确定无误以后,点击 Assemble 按钮。
8. 在最后的页面上,将显示定制操作的状态,同时列出了非压缩版的定制服务器所在的绝对路径。当然,你可以在 var/temp 下找到名为 WASCEAssembly-1.0-bin.zip 的压缩版定制服务器。点击 Done 完成服务器定制操作。
图 10. 定制成功(管理控制台)
使用 Gshell 命令定制 WAS CE 服务器
1. 启动 WAS CE;
2. 打开 Window command 窗口,通过 cd 命令进入到 WAS CE 安装目录下的 bin 目录,然后执行命令进入 Gshell 命令窗口:gsh.bat。如果为非 windows 系统,则使用 terminal 窗口,并使用该命令进入 Gshell 命令窗口:gsh.sh;
图 11. 启动 Gshell (Gshell)
3. 输入 Gshell 命令:deploy/assemble, 并使用参数给定制服务器命名,输入用户名和密码。
图 12. 定制服务器的 Gshell 命令(Gshell)
4. 根据提供的 plugin 列表,为定制服务器选择 plugin。其中 WASCE Assemblies :: Boilerplate Minimal 是保证定制出来的服务器能正常启动等必选的 plugin。输入选中的 plugin 所对应的数字,然后按回车。
图 13. 为定制服务器选择 plugin (Gshell)
5. 同样,我们可以在 WAS CE 安装目录下的 var\temp\assembly 中找到非压缩版的定制服务器,同时在 var\temp 下找到压缩版的定制服务器:WASCEAssebmly_gsh-1.0-bin.zip。
通过 WEP 定制 WAS CE 服务器
通过 WEP 进行 WAS CE 服务器定制有两个前提条件:
- 安装 WEP(具体请参考 WAS CE 文档)
- 在 Eclipse 中定义 WAS CE 应用服务器(具体请参考 WAS CE 文档)
完成上述准备以后,可以按照下面的步骤进行操作:
1. 在 WAS CE 的实例上右键弹出右键菜单,然后在右键菜单上点击 Start 启动 WAS CE;
图 14. 启动 WAS CE(WEP)
2. 在 WAS CE 启动完毕之后,双击 WAS CE 实例,然后在打开的窗口中选择 Plugin 便签页,点击 Create Custom Assembly;
图 15. 启动定制服务器功能(WEP)
3. 在弹出的对话框中,给定制服务器命名,同时选择 plugin。其中 WASCE Assemblies :: Boilerplate Minimal 是保证定制出来的服务器能正常启动等必选的 plugin。按住 CTRL 键然后单击 plugin 来完成 plugin 的多选,最后按 Finish 键。
图 16. 为定制服务器命名并选择 plugin(WEP)