如果在目标为使用 WebSphere® 数据对象(WDO)关系记录或关系记录列表的 WebSphere Application
Server V5.1 的 Web 项目中创建了代码,则当您将这些应用程序的目标确定为
WebSphere Application
Server V6.0 时,现在将使用服务数据对象(SDO)关系记录和关系记录列表。将应用程序的目标服务器从 WebSphere Application Server V5.1 更改为 WebSphere Application
Server V6.0 时,会自动进行从 WDO 到 SDO 的迁移。
可用两种方法更改目标服务器:
- 可以使用项目的属性对话框修改目标服务器。在“项目资源管理器”视图中右键单击项目,然后选择。
- 在使用 J2EE 迁移向导进行 J2EE 迁移期间,可以将应用程序重新定向为使用另一服务器。
注: 只能迁移到更高的 J2EE 规范级别。
可在
Rational® Web Developer 的联机帮助中找到有关更改目标服务器和使用
J2EE 迁移向导的帮助主题。
兼容性注意事项
- 虽然实现类已更改为面向 SDO 运行时,但 V6.0 中支持写至 WDO 访问 bean 的公共应用程序编程接口(API)的任何代码。
- 为 WebSphere Application Server V6.0
生成的新代码将不使用 WDO 访问 bean,而是生成纯 SDO AIP 的代码。
- 即使通过重新确定目标服务器将 V6.0 迁移回 V5.1,生成到 V6.0 项目中的任何代码也不能在 V5.1 服务器上运行。
- 可通过确定 V5.1 服务器作为目标来回迁移为 V5.1 编写的代码。
从 WDO 迁移到 SDO 可能会发生类型冲突错误
在将利用
WDO 的项目迁移到基于 SDO 的项目之后,如果将 SDO 数据添加至具有现有 WDO 数据的现有
JSP 页,则可能会发生类型冲突错误。产生这种问题的原因是混合出现了现有
WDO 访问 bean 和独立的 SDO API。例如,可在 JSP 的 Java™ 源文件中看到下列编译错误:
The import com.ibm.websphere.sdo.mediator.exception.MediatorException collides with another imported type
这些类型冲突错误可按如下所述更正:
- 从 Java 源文件中除去冲突的 import 语句。对于上面的示例,从源文件中除去以下 import 语句:
import com.ibm.websphere.wdo.mediator.exception.MediatorException;
- 将引用该类型的 Java 源文件修改为使用标准类名。根据上面的示例,必须将类型
MediatorException 更改为 com.ibm.websphere.wdo.mediator.exception.MediatorException。例如,必须将如下源代码:
catch ( MediatorException e1 ) {
更改为:catch ( com.ibm.websphere.wdo.mediator.exception.MediatorException e1 ) {
将目标服务器从 V5.1 更改为 V6.0(WDO 到 SDO)之后对 Web 项目的更改
当目标服务器从 V5.1 更改为 V6.0
时,将自动进行下列更改:
- 从项目中除去 Java 归档(JAR)文件
wdo_web.jar 和 wdo_jdbc_access.jar。
- 从项目的类路径中除去下列 JAR 文件:
- emf-runtime.jar
- emf-event.jar
- wdo-interface.jar
- wdo.jar
- jdbcmediator.jar
- wdo.xmlmediator.jar
- 将文件 sdo_web.jar 和 sdo_access_beans.jar
添加至项目(自动将 SDO 运行时 JAR 文件添加至任何 V6.0 项目的类路径)。
- 将从项目中除去任何 JavaServer Pages Standard Tag Library(JSTL)1.0 JAR 文件。(JSTL 1.1/JSP 2.0 JAR
文件将被自动添加至任何 V6.0 项目的类路径)。
- 在任何 Java 源文件中更改以下
import 语句:
- com.ibm.websphere.wdo.access.connections.ConnectionManager 更改为
com.ibm.websphere.sdo.access.connections.ConnectionManager。
- com.ibm.websphere.wdo.mediator.rdb.ConnectionWrapper 更改为
com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapper。
将服务器目标从 V6.0 更改为 V5.1(SDO 到 WDO)之后对 Web 项目的更改
当目标服务器从 V6.0 更改为 V5.1
时,将自动进行下列更改:
- 从项目中除去 JAR 文件 sdo_web.jar 和 sdo_access_beans.jar。
- 将 JAR 文件 wdo_web.jar 和 wdo_jdbc_access.jar
添加至项目。
- 将下列 JAR 文件添加至项目的类路径:
- emf-runtime.jar
- emf-event.jar
- wdo-interface.jar
- wdo.jar
- jdbcmediator.jar
- wdo.xmlmediator.jar
- 将下列 JSTL 1.0 JAR 文件添加至项目。(从项目的类路径中除去 JSTL 1.1/JSP 2.0 JAR)。
- 在任何 Java 源文件中更改下列 import 语句:
- com.ibm.websphere.sdo.access.connections.ConnectionManager 更改为 com.ibm.websphere.wdo.access.connections.ConnectionManager.
- com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapper 更改为 com.ibm.websphere.wdo.mediator.rdb.ConnectionWrapper。
将应用程序的 J2EE 级别从 1.3 更改 1.4 之后对 Web 项目的更改
除通过将服务器目标更改为 WebSphere Application
Server V6.0 从 WDO 迁移到 SDO 时发生的更改之外,将应用程序的 J2EE 规范级别从 1.3 更改为 1.4
还会将 JavaServer Pages(JSP)中的所有标记库(taglib)引用从使用 WDO JSTL 1.0
标记库更新为使用 SDO JSTL 1.1/jsp 2.0 标记库。下表显示从 J2EE 1.3 移至 J2EE 1.4
时 JSP 标记库引用中的更改。
表 1. J2EE 1.3 和 J2EE 1.4 中的 JSP 标记库引用。J2EE 1.3 标记库(WDO) |
J2EE 1.4 标记库(SDO) |
http://www.ibm.com/websphere/wdo/core |
http://www.ibm.com/websphere/sdo/core |
http://java.sun.com/jstl/core |
http://java.sun.com/jsp/jstl/core |
http://java.sun.com/jstl/fmt |
http://java.sun.com/jsp/jstl/fmt |
http://java.sun.com/jstl/xml |
http://java.sun.com/jsp/jstl/xml |
http://java.sun.com/jstl/sql |
http://java.sun.com/jsp/jstl/sql |