IBM WebSphere 开发者技术期刊 : 使用 Eclipse 富客户端平台和 Rational Application Developer V6 创建 EJB 客户端
现在我们已经为运行 RCP EJB 客户端做好了准备。我们首先将会从 Application Developer 内部进行 RCP 应用程序的单元测试。接下来我们将会导出插件并且为在开发环境外部运行对其进行设置。
关 于 Eclipse 3.0 版本,您可以为了运行插件创建 launch configurations。这些 launch configuration 为了使用 WebSphere V6 JRE 需要进行设置(包括了 IBM Application Client for WebSphere Application Server 以及 WebSphere Application Server),通过 Perspective Preferences 进行添加。然而,不是使用 Eclipse,而是我们将会使用Application Developer,其中已经安装了 JRE。
- 从 Application Developer 的主菜单中选择 Run =>Run...。(图 59)。
图 59. 创建 launch configuration - 在 Launch Configuration 向导中选择 Run-time workbench 以及 New (图 60)。
图 60. 创建 launch configuration - 为 MyRCPClient 配置命名。在 Program to Run 部分中,选择您的插件,对于运行应用程序,选择 com.ibm.issw.temperature.form.RcpApplication,对于 JRE,选择 WebSphere v6 JRE(图 61)。
图 61. 创建 launch configuration - 对于 VM arguments,通过 C:RCPEJBClientSnippet1.txt 所提供的代码(清单 9)输入如图 61 所示代码。还不能运行。VM arguments 是针对安装 IBM Application Client for WebSphere Application Server 目录。如果您将它安装在不同的目录下,是用那个目录。否则,使用 Application Developer 中定位于 /runtimes/base_v6 的 WebSphere 实例。
清单 9
-Djava.naming.provider.url=corbaloc::localhost
-Djava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
-Dserver.root=C:WebSphere6NDAppClient
-Dcom.ibm.CORBA.ConfigURL=file:C:WebSphere6NDAppClient/properties/sas.client.props
-Djava.ext.dirs="C:WebSphere6NDAppClientjavajrelibext;
C:WebSphere6NDAppClientjavajrelib;C:WebSphere6NDAppClientclasses;
C:WebSphere6NDAppClientlib;C:WebSphere6NDAppClientlibext;
C:WebSphere6NDAppClientproperties - 在 Plug-in 选项卡上,我们需要包括我们的新插件所依赖的插件。我们能够容易地通过遵循图 62 所示的点击顺序完成这一内容。
图 62. 插件的依赖关系 - 选择 Apply,接下来选择 Run。客户端应该与图 63 相似。
图 63. 运行客户端 - 输入值,然后选择 Convert to Farenheit。
- 应该显示结果,与图 64 相似。(首次引用将会比后来的引用花费更长的时间,因为它需要与 WebSphere Application Server 建立初始的通信。)
图 64. 客户端结果
构建并运行 Application Developer 外部的 RCP 应用程序
为了运行 Application Developer 外部的 RCP 应用程序,我们将会需要使用导出插件向导。在 Eclipse 3 版本中,不存在任何 RCP 应用程序的导出机制,但您可以使用二进制构建完成这一流程。出于教学的目的,我们将亲自进行部署。
- 右键单击插件项目并且选择 Export (图 65)。
图 65. 导出插件项目 - 在 Export 对话框中(图 66)选择 deployable plug-ins and fragments,然后选择 Next。
图 66. 导出插件项目 - 从可部署的插件及片断对话框中选择我们的插件,选择将其作为 directory structure 进行配置,接下来在目录上对其进行配置如图 67 所示。选择 Finish。
图 67. 导出插件项目 - 将要运行 PDE 导出向导(图 69)。
图 68. PDE 导出向导 - 我们需要 BAT 文件来启动应用程序。为简单起见,由 download file 中提供。将 BAT 文件从 C:RCPEJBClientMyRCPApp.bat 复制到您导出插件的目录。
- BAT 文件将会使用应用程序客户端 JRE(假设 IBM Client for WebSphere Application Server位于 C:WebSphere6NDAppClient;否则,为了替换目录通过针对应用程序客户端更新初始的变量而更新脚本,或者针对 WebSphere Application Server 如果您不使用客户端的话)。
(我们在测试关于 WebSphere Application Server Base 的 RCP 应用程序。如果,在生产中,您将会调用部署到集群的 EJB 应用程序,参数 Djava.naming.provider.url=corbaloc::localhost 应该拥有表示像这样一个集群:corbaloc:::,:: 的 URL。)清单 10
set WAS_CLIENT_HOME=C:WebSphere6NDAppClient
start %WAS_CLIENT_HOME%javajreinjavaw
-Djava.naming.provider.url=corbaloc::localhost
-Djava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
-Dserver.root=%WAS_CLIENT_HOME%
-Dcom.ibm.CORBA.ConfigURL=file:%WAS_CLIENT_HOME%/properties/sas.client.props
-Djava.ext.dirs=%WAS_CLIENT_HOME%javajrelibext;%WAS_CLIENT_HOME%javajrelib;%WAS_CLIENT_HOME%
classes;%WAS_CLIENT_HOME%lib;%WAS_CLIENT_HOME%libext;%WAS_CLIENT_HOME%properties
-cp startup.jar org.eclipse.core.launcher.Main
-application com.ibm.issw.temperature.form.RcpApplication - 因为我们亲自导出了插件,所以需要从我们的 Eclipse 安装目录复制 startup.jar 以及基础插件。在 Application Developer 之中,基础 Eclipse 定位到 Application Developer 安装目录下的 eclipse 目录(图 69)。
图 69. 复制 startup.jar - 粘贴 startup.jar 到配置插件的目录。
图 70. 粘贴 startup.jar - 接下来,复制所需插件:
- org.eclipse.core.expressions_3.0.0
- org.eclipse.core.runtime_3.0.1
- org.eclipse.help_3.0.0
- org.eclipse.jface_3.0.0
- org.eclipse.osgi_3.0.1
- org.eclipse.platform_3.0.1.1
- org.eclipse.swt.win32_3.0.1
- org.eclipse.swt_3.0.1
- org.eclipse.ui.forms_3.0.0
- org.eclipse.ui.workbench_3.0.1.1
- org.eclipse.ui_3.0.1
- org.eclipse.update.configurator_3.0.0
图 71. 复制所需插件 - 通过 MyRCPApp.bat 运行应用程序。(再一次,初始请求会比后来的请求花费更长的时间。)
图 72. 运行客户端
|
这 篇文章描述了如何使用 Eclipse Rich Client Platform (RCP)构建 EJB 客户端应用程序。Eclipse 平台包括了大量的窗口、视图、框架(例如 Eclipse Modeling Framework),以及其它能够用于构建强大客户端应用程序的的扩展。了解如何使 Eclipse RCP 应用程序与 WebSphere Application Server 一体化对于构建一体化客户端应用程序是必不可少的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130637/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/374079/viewspace-130637/