在产品配置迁移期间进行配置映射
在产品配置迁移期间将映射各种配置。

本文是关于概要文件配置迁移。要将应用程序迁移到最新版本,请使用 WebSphere® Application Server Migration Toolkit。有关更多信息,请参阅 WASdev 上的 Migration Toolkit。
sptcfg迁移总是涉及将一个概要文件迁移到同一机器或不同机器上的另一个概要文件。示例包括将 WebSphere Application Server V7.0 Deployment Manager 迁移到 V9.0 Deployment Manager,以及将 V7.0 应用程序服务器迁移到 V9.0 独立应用程序服务器。
可能存在很多迁移方案。迁移工具将要迁移的版本中的对象和属性映射至 V9.0 环境中的相应对象和属性。
迁移工具将旧发行版中的值带入到 V9.0 环境中。
但是,如果在调用 WASPostUpgrade 期间将 -setPorts 参数设置为 generateNew 或某个端口值,那么会向已迁移到 V9.0 的每一个应用程序服务器提供该端口值。
迁移工具将相应的命令行参数转换为服务器进程定义中的 Java™ 虚拟机 (JVM) 设置。直接映射大多数设置。因为某些设置在 WebSphere Application Server V9.0 配置中不起作用、有不同的含义或者有不同的作用域,所以这些设置不会迁移。
有关如何更改进程定义设置的信息,请参阅进程定义设置。有关如何更改 JVM 设置的信息,请参阅 Java 虚拟机设置。
- 在 V7.0 或更高版本 中,通用服务器具有自己的类型,称为 GENERIC_SERVER。迁移将执行此转换,但迁移无法准确地迁移通用服务器引用的外部资源。在迁移完成迁移通用服务器设置这一任务之后,您可能需要执行其他任务。如果通用服务器曾经管理的旧资源位于旧 WebSphere Application Server 安装版本中,请执行下列任务:
如果通用服务器曾经管理的旧资源未安装在旧的 WebSphere Application Server 安装版本中,那么不需要其他操作。
使用 wsadmin 工具将所有 WebSphere Application Server V7.0 或更高版本 EAR 文件迁移到 V9.0 时,WASPostUpgrade 工具将使用缺省最大 Java 堆大小值 64 MB 来安装这些 EAR 文件。
如果 V7.0 或更高版本 EAR 文件在迁移期间由于 Java 堆大小不足够大而无法安装,那么您会看到与以下消息相似的消息:java.lang.OutOfMemoryError JVMXE006:OutOfMemoryError
请增加最大 Java 堆大小,并遵循以下示例来安装应用程序。
在 WebSphere Application Server V9.0 上安装应用程序的示例
假设:- C:\WebSphere\AppServer
- EAR 文件的名称
- 应用程序的名称
- 安装 EAR 文件的服务器的名称
- 配置服务器的节点的名称
wsadmin -conntype NONE -c "$AdminApp install C:\\WebSphere\\AppServer\\installableApps\\ EAR_file_name {-nodeployejb -appname app_name -server server_name -node node_name}"
在 WebSphere Application Server Network Deployment V9.0 上安装应用程序的示例
假设:- C:\WebSphere\ Manager
- EAR 文件的名称
- 应用程序的名称
- 应该安装 EAR 文件的集群的名称
wsadmin -conntype NONE -c "$AdminApp install C:\\WebSphere\\ Manager\\installableApps\\ EAR_file_name> {-nodeployejb -appname app_name -cluster cluster_name}"
可以迁移属于某个单元的 WebSphere Application Server V7.0 或更高版本 节点,而无需从该单元中移除该节点。
在迁移单元中的任何基本节点之前,请先迁移 Deployment Manager。
要点: 将 WebSphere Application Server Network Deployment 从 V7.0 或更高版本 迁移到 V9.0 时,请使用相同的单元名。如果使用另一个单元名,那么联合节点将无法成功迁移到 WebSphere Application Server Network Deployment V9.0 单元。将单元内的基本 WebSphere Application Server 节点迁移到 V9.0 还会将 Node Agent 迁移到 V9.0。一个单元可以包含一些 V9.0 节点以及一些级别为 V7.0 或更高版本 的其他节点。
- WebSphere Application Server V9.0 通过将设置合并到 V9.0 策略文件中来迁移所有与 V7.0 或更高版本 一起安装的策略文件,这样做具有以下特征:
迁移将文件从先前版本的目录复制到 WebSphere Application ServerV9.0 配置中。
WebSphere Application Server V9.0 通过将设置合并到 V9.0 属性文件中来迁移所有与 V7.0 或更高版本 一起安装的属性文件。
如果由 J2C 资源引用的 RAR 位于旧 WebSphere Application Server 安装版本中,那么迁移这些 RAR。在这种情况下,将这些 RAR 复制到新 WebSphere Application Server 安装版本中的相应位置。将不迁移 Relational Resource Adapter RAR。
迁移集群级别资源:WebSphere Application Server V6.0 引入了集群级别资源的概念。将在集群目录下的 resourcexxx.xml 文件中配置它们。例如:<resources.j2c:J2CResourceAdapter xmi:id="J2CResourceAdapter_1112808424172" name="ims" archivePath="${WAS_INSTALL_ROOT}\installedConnectors\x2.rar"> ... </resources.j2c:J2CResourceAdapter>
如果具有集群级别资源,那么此资源必须与每个集群成员(节点)在同一位置。因此,通过使用先前的示例,每个集群成员都必须将 RAR 文件安装在 ${WAS_INSTALL_ROOT}\installedConnectors\x2.rar 位置。将针对每个集群成员解析 ${WAS_INSTALL_ROOT} 以获取确切位置。
在迁移 Deployment Manager 时,这些工具会迁移 Deployment Manager 上的集群文件,包括 resourcexxx.xml 文件。
在迁移联合节点时,这些工具会处理每个 J2C 适配器。
RAR 文件从 V7.0 至 V9.0 的迁移:
从 V7.0 至 V9.0 的迁移会将文件(如 RAR 文件)从 WAS_INSTALL_ROOT 复制到 WAS_INSTALL_ROOT,并从 USER_INSTALL_ROOT 复制到 USER_INSTALL_ROOT。
例如,如果 V7.0 的 WAS_INSTALL_ROOT 中存在 RAR 文件,那么迁移工具不会自动将该文件从 WAS_INSTALL_ROOT 复制到 USER_INSTALL_ROOT。这将保留集群级别 J2C 资源的完整性。
但是,如果在 V7.0 中对 RAR 文件的路径(如 archivePath="C:/WAS/installedConnectors/x2.rar")进行了硬编码,那么 V9.0 迁移工具不能更改 archivePath 属性来反映这一点,原因是这会破坏所有尚未迁移的其他集群成员。未提供先前版本中的样本迁移。存在您可以调用的等效 WebSphere Application Server V9.0 样本。
在 WebSphere Application Server V9.0 中启用安全性时,缺省情况下会启用 Java 2 安全性。Java 2 安全性要求您显式授予安全许可权。
在 V9.0 中定义不同级别的 Java 2 安全性时可以使用一些技巧。其中一个技巧就是创建 was.policy 文件作为应用程序的一部分,以启用所有安全许可权。在迁移企业应用程序时,迁移工具会调用 wsadmin 命令以将 V9.0 properties 目录中的现有 was.policy 文件添加至这些企业应用程序。
在迁移到 WebSphere Application Server V9.0 时,选择是否迁移为支持脚本兼容性将导致两种不同结果。有关将安全配置迁移到 V9.0 的更多信息,请参阅文档中的“迁移、共存和互操作 – 安全注意事项”一文。
这些目录的位置通常在前一个版本的安装目录中。stdin、stdout 和 stderr 的缺省位置是 WebSphere Application Server V9.0 安装根目录下的 logs 目录。
迁移工具尝试迁移现有的钝化和工作目录。否则,会使用相应的 V9.0 缺省值。
避免故障: 在共存情况下,在版本之间使用公共目录可能会造成问题。gotcha
WebSphere Application Server V7.0 中实现的 Java Platform, Enterprise Edition (Java EE) 的规范级别要求 Web 容器中的行为进行更改以设置内容类型。如果缺省 servlet 写程序未设置内容类型,Web 容器不但不再将它设为缺省值,而且还会对调用返回“null”。这种情况可能导致某些浏览器不正确地显示生成的 Web 容器标记。为避免发生此问题,在迁移企业应用程序时,迁移将 Web 模块的 autoResponseEncoding IBM® 扩展设置为“true”。