1.0 简介
2.0 受支持的软件和规范
3.0 对前发行版的更改
4.0 限制
4.1 WebSphere 服务器必须具有匹配的代码页
5.0 已知问题
5.1 为 WebSphere V5 配置 J2C 资源适配器
5.2 因无效字符而不能创建或启动 WebSphere Application Server
5.3
停止 WebSphere V4.0 测试环境可能导致日志文件写错误
5.4
长目录名会导致 JSP 测试出错
5.5 与因特网断开连接后使用 Apache Tomcat 的问题
5.6
运行与 WebSphere Application Server 连接的 Java 应用程序
5.7
在启用了安全性的情况下运行 WebSphere V4.0 管理客户机
5.8
WebSphere 测试环境版本
5.9
在通用测试客户机中使用构造函数
5.10 当使用自动表和数据源创建程序时设置后端标识
5.11 Linux 上的缺省 DB2 JDBC 提供程序类路径
5.12 Linux 上的 WebSphere V4.0 应用程序客户机
5.13 J2EE 客户机不能访问远程机器上的测试环境服务器
5.14 对 WebSphere V4.0 进行跟踪
5.15 在通用测试客户机中不能测试 EJB 2.0 本地关系
5.16 在卸载 WebSphere V4 运行时之后还残留一些文件
5.17 与 WebSphere MQ 一起运行
5.18 应用 WebSphere V4 PTF 时的消息
5.19 在 WebSphere V5 管理控制台中创建数据源和服务器
5.20 移动服务器配置和重命名服务器项目
5.21 WebSphere 服务器的路径选项
5.22 设置远程服务器以使用嵌入式消息传递
5.23 忽略控制台视图中的“只安装了嵌入式消息传递客户机”消息
5.24 配置 Cloudscape 5.1
5.25 将表和数据源创建程序与 DB2 8.1 类型 4 JDBC 驱动程序配合使用
5.26 将 WebSphere 服务器重新发布至 AIX 机器导致警告消息
5.27 将嵌入式消息传递与 AIX 或 Linux 远程服务器配合使用
5.28 全速调试和热方法替换支持
5.29 WebSphere MQ 迁移
5.30 从 WebSphere Studio V5.0 迁移已部署的连接器项目
5.31 保存新的 JAAS 认证条目时可能会导致服务器毁坏
“服务器工具”功能部件允许您在不同的本地和远程运行时环境中测试和发布 J2EE 应用程序。本自述文件描述与以下“服务器工具”功能相关联的限制、已知问题和变通方法:
- 使用服务器和服务器配置设置服务器。(服务器和服务器配置是“服务器工具”使用的构造,用来在不同的运行时环境中进行测试和发布。)
- 在 IBM WebSphere Application Server 或 Apache Tomcat 上测试 J2EE 项目。
- 在“通用测试客户机”上测试企业 bean。
- 静态 Web 项目支持。
用于测试和发布的联机帮助包含有关“服务器工具”的限制以及有关解决“服务器工具”中的问题的附加信息。
有关受支持的运行时环境的信息,参阅产品自述文件。
“通用测试客户机”需要使用 Netscape V4.6 或 Mozilla V0.7 或更高版本。
服务器工具支持在 Windows、Linux 和 AIX 机器上对 WebSphere 服务器测试和发布项目。
使用 WebSphere 服务器进行测试时,远程机器必须与本地机器具有相同的代码页。运行具有不同代码页的本地和远程服务器不受支持,并且可能会导致控制台毁坏。
单击 WebSphere V5 服务器配置编辑器的 J2C 页面上的“添加”按钮时,可能会收到错误。要解决此问题,在 EAR 内配置连接器模块或执行下列步骤:
1. 启用 WebSphere 管理控制台并启动服务器。
2. 打开并登录到管理控制台。从左边选择资源 > 资源适配器。
单击新建。输入连接器模块的名称并指定项目中 connectorModule 文件夹的全限定路径。例如,C:\workspace\myConnector\connectorModule。
4. 单击应用,然后刷新 IDE 中的服务器项目。现在,可以继续使用服务器配置编辑器进行任何进一步的更改。
如果将 WebSphere Studio 安装到其名称包含美元符号($)或任何特殊字符(例如,#、%、+ 或 *)的目录中,可能无法创建 WebSphere 服务器或不能成功启动 WebSphere 服务器。为了避免这种情况,不要将 WebSphere Studio 安装到包含任何这些字符的目录中。
在创建 WebSphere 服务器或将包含 WebSphere 服务器的服务器项目时,不要在名称中包括字符 #、%、& 或 *。WebSphere Application Server 不支持这些字符。
在 Linux 上停止 WebSphere V4.0 测试环境时,可能会在“控制台”视图中获得下列错误:
无法获得“共享日志锁”文件 /opt/wsappdev/plugins/com.ibm.etools.websphere.runtime/logs/activity.log.lck
堆栈跟踪:
com.ibm.ejs.ras.SharedLogLockException
位于 com.ibm.ejs.ras.SharedLogBase.acquireHostLock(SharedLogBase.java:251)
位于 com.ibm.ejs.ras.SharedLogWriter.log(SharedLogWriter.java:255)
...
先前异常:
消息:
空
堆栈跟踪:
java.io.IOException:拒绝许可权
位于 java.io.UnixFileSystem.createFileExclusively(Native Method)
位于 java.io.File.createNewFile(File.java:697)
...当服务器未能写至 activity.log 文件时,将导致该问题。即使您获得此错误消息,服务器进程仍将成功停止。可以安全地忽略这些错误消息。
如果在具有长路径的目录中使用工作空间或选择长名称来表示企业应用程序项目或 Web 项目,在尝试执行 JSP 页时,可能会获得以下错误消息:
错误消息:JSPG0113E:JSP 文件
未找到“Xxx/Yyy_jsp_0.java(文件名太长)”如果收到此错误,则可执行下列任何一项操作:
- 将工作空间移至具有较短路径的位置,例如,c:/workspace。
- 重命名企业应用程序项目和/或 Web 项目,使其具有较短的名称。
- 减小 Web 应用程序中 JSP 页的文件夹深度。例如,将 JSP 页移动到公共文件夹中或者移动到 Web Content 文件夹的根目录中,而不是进一步向下嵌套它们。
随 Apache Tomcat 一起提供的缺省 web.xml 文件包含对因特网上的 DTD 文件的引用。正因为如此,与因特网断开连接后,Tomcat 服务器将不能启动。在 WebSphere Studio 中,已从 Tomcat V3.2 配置中除去了这些引用,因此在单机运行时也可以工作。如果从 WebSphere Studio 外部导入 Tomcat 服务器配置,或者使用的是 Tomcat V4.0,则在与因特网断开连接后工作可能会遇到问题。如果发生这种情况,请采取下列步骤来除去此引用。
如果启动服务器时有问题,则可能需要连接至因特网并使用备份的 web.xml 文件重新添加 DOCTYPE 元素。
- 从 Tomcat 服务器配置中备份 web.xml 文件。
- 使用文本编辑器编辑 Tomcat 服务器配置中的 web.xml 文件。
- 从文件中除去整个 DOCTYPE 元素。
- 保存并关闭编辑器。
WebSphere Application Server 有一个限制,使用 WebSphere 客户机连接至在 WebSphere 服务器上运行的企业 bean 的所有 Java 应用程序都必须使用用来构建 WebSphere 客户机的相同的 IBM Java ORB 级别。如果不使用相同的 ORB 级别,则在运行客户机应用程序时可能会接收到类似如下的错误:
java.lang.NoClassDefFoundError:com/ibm/rmi/iiop/GIOPVersionException
要确保使用正确的 ORB 级别,可以使用 WebSphere JRE 来运行客户机应用程序。为此,执行下列步骤:
- 在“调试”透视图中使用“运行”>“运行”或者使用“运行”>“调试”菜单项来打开“启动配置”对话框。
- 选择想要编辑的“Java 应用程序启动配置”。
- 转至 JRE 页面,并从组合框中选择适当的 WebSphere JRE。
- 应用更改。
另外,只要确保使用了相匹配的 ORB 级别,就可以使用任何 JRE 来运行客户机应用程序。为此,执行下列步骤:
- 在“调试”透视图中使用“运行”>“运行”或者使用“运行”>“调试”菜单项来打开“启动配置”对话框。
- 选择想要编辑的“Java 应用程序启动配置”。
- 转至“自变量”页面并将以下内容添加至“VM 自变量”字段:
-Xbootclasspath/p:WAS_installdir\java\jre\lib\ext\ibmorb.jar
其中,WAS_installdir 是包含运行时的目录,例如,c:\Program Files\IBM\WebSphere Studio\runtimes\aes_v4。- 应用更改。
当启用了安全性时,不能直接从工作台中启动 WebSphere V4 管理客户机。要启动管理客户机,遵循下列步骤:
- 启动 WebSphere 服务器。
- 打开 Web 浏览器并输入以下 URL:http://[localhost:8080]/admin,其中 [localhost:8080] 是您正在使用的服务器的名称和端口。
- 输入用来配置安全性的用户标识和密码。单击“提交”。
- 在右窗格中,单击配置 > 打开。
- 选择“输入服务器上的文件的全路径”。
- 在文本字段中输入至服务器配置的全路径。例如:C:\studio\eclipse\workspace\Servers\was.wsc\server-cfg.xml。
- 单击“确定”。
WebSphere V4 测试环境基于 WebSphere V4.06。WebSphere V5 测试环境基于 WebSphere V5.02。当从 WebSphere Studio 的先前版本迁移时,将除去对该 WebSphere 测试环境的任何电子修订,因此必须手工重新安装它们。
使用“通用测试客户机”时,您将不能在参数页面中构造将接口用作参数的对象。要从具有接口类型的参数构造的所有对象都必须使用类引用部分。
首先装入并构造接口或抽象类型的对象。然后装入包含具有抽象/接口类型的构造函数的类。现在,在参数页面中选择预先建立的对象。
当使用自动表和数据源创建程序来对 CMP 企业 bean 进行单元测试时,必须将后端标识设置为 Cloudscape。缺省情况下,当前后端标识为空,但是在运行时它将使用 DB2 作为后端标识,除非您明确指定了标识。
要指定 Cloudscape 作为后端标识,执行下列操作:
- 在“J2EE 层次结构”视图中,右键单击 EJB 项目并选择打开方式 > 部署描述符编辑器。
- 向下滚动到“后端标识”部分。
- 单击当前字段旁边的刷新按钮,以便装入所有可用的后端标识。
- 在当前字段中,从下拉菜单中选择您生成的 Cloudscape 映射。例如,CLOUDSCAPE_V50_1。
- 保存更改并关闭编辑器。
Linux 上的缺省 DB2 JDBC 提供程序类路径设置为 ${DB2_JDBC_DRIVER_PATH}/db2java.zip。在 Linux 上检测不到 DB2 安装位置。因此,如果想要在 Linux 上使用 DB2 数据源的话,需要手工除去此类路径条目并在服务器编辑器中添加具有正确路径的新条目。
要从在 WebSphere V4.0 上运行的应用程序客户机访问企业 bean,必须指定正确的服务器 ORB 引导程序端口。可通过为初始上下文设置 JNDI 提供程序 URL 来完成此操作,或者如果正在使用访问 bean,则可以通过在命令行上指定 ORB 引导程序端口(通过在“启动配置”向导的“自变量”页面上将 -CCBootstrapPort=2809 作为“程序自变量”进行添加)来完成此操作。
当尝试从正在远程机器上运行的 J2EE 客户机来访问测试环境服务器时,可能会产生 org.omg.CORBA.COMM_FAILURE。必须配置在远程服务器配置中定义的 ORB 引导程序主机名才能修正该问题。要编辑 ORB 引导程序主机名,转至服务器编辑器的端口页面,然后将 ORB 引导程序端口部分下的主机名字段设置为远程主机名。
在进行更改之后,保存更改并重新启动测试环境服务器以使更改生效。
如果对 WebSphere V4.0 禁用跟踪,则在控制台中将产生 ConnectionException,并且将无法正确停止服务器。
“通用测试客户机”不支持涉及到多个请求的事务。这就意味着不能测试 EJB 2.0 本地关系,原因是不能获取包含该关系的集合,并使用单个请求中的内容。
当卸载 WebSphere V4 运行时的时候,目录 WS_installdir/runtimes/aes_v4 在卸载之后可能仍然存在。如果该目录仍存在,则必须手工除去它;否则,在 WebSphere V4 服务器支持方面可能会产生某些问题。如果卸载了 WebSphere Studio,然后又在同一位置再次安装它,则需要手工进行同样的检查。
如果已经安装了 WebSphere MQ 组件,则必须创建脚本才能使用正确的路径和环境变量启动 WebSphere Studio。执行下列步骤:
- 使用 VI 或另一个文本编辑器创建称为 wsappdevmq.sh 的文件。
- 编辑该文件并添加以下文本:
export PATH=$PATH:/opt/mqm/bin:/opt/mqm/java/bin:/opt/wemps/bin export LD_LIBRARY_PATH=/opt/mqm/lib:/opt/mqm/java/lib:/opt/wemps/lib:$LD_LIBRARY_PATH export WEMPS_REGISTRY=/var/wemps/registry wsappdev50
- 保存该文件并退出编辑器。
- 输入命令 chmod a+x wsappdevmq.sh。
- 使用 wsappdevmq.sh 脚本(而不是 wsappdev)来启动 WebSphere Studio。
当应用 WebSphere V4 PTF 时,可以看到“注意:一旦启动服务器,就请重新生成插件配置以便更新 plugin-cfg.xml 文件”这一消息。可以安全地忽略此消息。
在 WebSphere Studio 中使用“WebSphere V5 管理控制台”添加数据源或创建服务器时,可能会收到 NullPointerException 或其它错误。使用下列变通方法之一:
- 如果正在创建数据源,则改为使用 WebSphere V5 服务器编辑器。可通过在“服务器”或“服务器配置”视图中双击 WebSphere V5 服务器来打开该编辑器。转至“数据源”页面以添加、编辑数据源或从服务器中除去数据源。
- 停止服务器。
- 将模板目录从以下目录(其中 WS_installdir 是安装 WebSphere Studio 的目录):
WS_installdir\runtimes\base_v5\config\templates
复制到:
workspace_ dir\server_ project\server_ name.wsc 文件夹下的当前工作空间中。- 重新启动服务器并再试。
服务器与其服务器配置之间的关联包括服务器配置驻留在其中的项目。当重命名服务器项目或将服务器配置移至另一个项目时,使用这些配置的所有服务器都将中断其关联。要解决该问题,在“服务器”视图中右键单击服务器并选择切换配置 > server_configuration_name 以使配置与服务器重新关联。
WebSphere 服务器编辑器的“环境”页面上的“路径选项”功能不起作用。在 Java 库路径字段中输入的路径将被添加至现有服务器 PATH。您将不能控制数据被添加到何处,例如,是将数据添加至现有服务器 PATH 的开头、末尾还是替换现有服务器 PATH。
在『设置服务器以使用“嵌入式消息传递”』这一主题中,『测试环境』一节的内容的某些部分适用于『远程服务器』一节中的指示信息。必须在本地或远程服务器配置上定义以下内容:WAS_PUBSUB_ROOT、MQ_INSTALL_ROOT 和服务器端的“队列”管理器。此外,服务器配置的 ws.ext.dirs 部分中还将需要具有一个条目指向安装 WebSphere MQ 的 java/lib 目录。
有关设置“队列”管理器的指示信息可在本主题的『测试环境』一节中找到。在独立的 WebSphere Application Server 机器上,相同的 createmq 批处理文件存在于相同的目录中(相对于 WebSphere Application Server 安装根目录)。如果正在将服务器从 WebSphere Studio 远程部署至远程 WebSphere Application Server 机器,将需要执行此步骤。
注意:如果已经使用 WebSphere Studio 安装程序安装了“嵌入式消息传递”,则既不需要运行 createmq.bat,也不需要设置 variables.xml 或创建批处理文件来启动工作台(以确保 MQ 二进制文件在 WAS 服务器路径上)。您将还需要在服务器上对 ws.ext.dirs 执行添加操作。仅当已使用 WebSphere Application Server 安装程序安装了“嵌入式消息传递”时,此任务才是必需的。
在 WebSphere V5.0 测试环境启动期间,可以在“控制台”视图中看到一条消息,声明“只安装了嵌入式消息传递客户机”,即使“嵌入式消息传递”(可选组件)未作为 WebSphere Studio 安装的一部分进行安装。可以安全地忽略此消息,而且此消息并未暗示已安装“嵌入式消息传递”,而是说明为测试服务器定义了某些服务器配置变量,而这些服务器配置变量生成了这一令人产生误解的消息。
要安装 Cloudscape 5.1,在 Windows 上运行 installCloudscape51.bat 文件或在 Linux 上运行 Cloudscape51.sh 文件。此文件位于 WS_installdir/runtimes/base_v5/cloudscape51 目录(其中 WSinstalldir 是安装了 WebSphere Studio 的目录)中。安装程序将启动特定于 WebSphere 的 Cloudscape 安装程序。当提示输入目录名时,浏览或输入 WS_installdir/runtimes/base_v5 目录。
注意:在安装 Cloudscape 5.1 之后,不能运行 Cloudscape 5.0 或具有任何 Cloudscape 5.0 定义的数据源。如果想要运行 Cloudscape 5.0,必须先卸载 Cloudscape 5.1,然后除去 Cloudscape 5.1 数据源或将它们更改为 Cloudscape 5.0 数据源。
“表和数据源创建程序”支持自动创建数据库表和在应用程序服务器上配置的相关联的数据源,以使在 WebSphere 测试环境中测试 CMP bean 变得更加容易。受支持的 DB2 版本是 DB2 版本 8.1,通过使用类型 4,纯 Java JDBC 驱动程序将在以本地或远程方式安装了 DB2 V8.1 的两个系统上都工作。
为了生成 DB2 的表和数据源,必须在开发机器上提供两个 JAR 文件。一个是 JDBC 驱动程序本身(包含在称为 db2jcc.jar 的 jar 文件中),另一个是称为 db2jcc_license_cisuz.jar 的许可证 JAR 文件。这些 JAR 文件通常位于 DB2_installdir/SQLLIB/java(其中 DB2_installdir 是安装了 DB2 的目录)中。对于开发机器上安装了 DB2 的系统,将尝试确定那些路径且不需要更多的步骤。如果没有自动确定路径,则在对话框中手工指定这些路径。
如果 DB2 安装在远程机器上,则在创建表期间出现 DB2 连接对话框时,必须提供指向两个 JAR 文件的全路径。因为这是自动完成的,所以不需要任何配置。如果不能提供指向两个 JAR 文件的路径,将在表创建时和运行时导致出现以下异常:
com.ibm.db2.jcc.c.SqlException:正在使用的 IBM 通用 JDBC 驱动程序的版本未经许可,无法连接至 DB2 Unix/Windows 版数据库。
要连接至此 DB2 服务器,请获取用于 JDBC 和 SQLJ 的 IBM DB2 通用驱动程序的许可副本。该驱动程序的许可副本意味着 db2jcc_license_cisuz.jar 被添加至指向 db2jcc.jar 的路径。尽管表和数据源创建程序仅支持类型 4 驱动程序,但您可以选择使用 RSC 工具手工导出 DB2 模式。
在 DB2 连接设置对话框中,会要求您提供“db2jcc.jar 的路径”。其意思是同时指向此 jar 和许可证 jar 的路径。浏览按钮允许您选择多个文件,因此您需要执行的操作是同时选择 db2jcc.jar 文件和 db2jcc_license_cisuz.jar 文件。如果只选择一个文件,则输入字段将保留为空白。必须选择两个文件或手工提供指向这两个文件的路径以便退出对话框并继续进行。
当将 WebSphere 服务器重新发布至 AIX 机器时,可能会在发布对话框中出现一些有关无法删除某些文件的警告消息。可以安全地忽略那些警告消息。
如果已经在 AIX 或 Linux 远程服务器上安装了嵌入式消息传递,则需要执行下列步骤:
- 在 WebSphere Studio 中,在服务器编辑器的“环境”页面上的 ws.ext.dirs 部分中,单击添加外部文件夹按钮并添加包含嵌入式消息传递 Java 实现类的目录。
- 在“Java 库路径”部分中,输入指向 MQ 二进制文件的路径。保存更改。
- 在远程机器上,将名为 WEMPS_REGISTRY 的环境变量添加至 serverconfig.xml 文件,该文件位于安装“代理控制器”的位置。在 serverconfig.xml 文件中,此变量位于 wteRemoteV5.exe 的应用程序配置部分中。例如:
<Variable name="WEMPS_REGISTRY" position="prepend" value="/var/wemps/registry"></Variable>其中 /var/wemps/registry 是此变量的路径。
仅当在 WebSphere V5 测试环境中进行调试时,才支持全速调试和热方法替换。在 WebSphere V5 测试环境外调试应用程序不受支持。
WebSphere MQ 组件不支持交叉版本兼容性。应该确保要使用的 WebSphere MQ 版本与要部署到的 WebSphere 测试环境或 WebSphere 服务器处于相同的修订包级别。
例如,不应该将通过 WebSphere Studio V5.0 安装的 WebSphere MQ 与 WebSphere V5.0.2 测试环境配合使用。而是应该卸载 WebSphere MQ 并安装随 WebSphere Studio V5.1 提供的版本。
在移至更高的发行版时,在包含被部署到 WebSphere 测试环境或 WebSphere 服务器的连接器项目的 WebSphere Studio V5.0 中创建的工作空间不会被自动迁移。尝试将连接器项目发布到服务器时,可能会收到错误。
要解决该问题,在“服务器”视图中,右键单击该服务器并选择添加或除去项目。从服务器中除去 EAR 项目,然后将又将它添加回来。这将修正 WebSphere 服务器配置,以便正确部署连接器项目。
如果打开 V5 服务器编辑器,在不退出该编辑器的情况下创建和保存新的“JAAS 认证条目”,然后转至“数据源”选项卡并添加 V5 数据源,则会出现一个文件已更改对话框。必须单击否以避免毁坏服务器配置。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.