升级 Java 环境

如果在 CICS®(无论是 OSGi , Axis2还是 Liberty) 中运行 Java™ 应用程序,那么在升级 CICS版本时需要进行一些更改。 此信息适用于所有当前受支持的 CICS TS 发行版,而不考虑当前发行版和目标发行版。

在开始升级 Java 环境之前,请先升级 CICS 区域,如 升级 CICS 区域中所述。

如果要从服务终了发行版升级,那么可能需要执行与当前服务终了发行版相关的其他操作。 您可以在 从服务终了发行版升级中找到用于从服务终了发行版迁移的其他升级操作。

升级操作

表 1 列出了升级到更高的 CICS 发行版时必须执行的操作,而不考虑当前发行版和目标发行版。 详细描述这些操作的部分使用 所有版本进行标记。

检查您的程序,不要以为默认编码是EBCDIC

所有版本

Java 21 适用于 Java 21。

在Java 21中,标准Java API的默认字符集为 UTF-8 ,但控制台输入和输出编码除外。 有关更多信息,请参阅 将应用程序迁移到新的 Java 版本

检查您的程序是否存在不推荐使用的 API

所有版本

为避免不推荐使用的 API 的潜在问题,请使用支持与 CICS所使用的环境相同的 Java 版本的应用程序开发环境,为最新发行版的 CICS 开发所有新的 Java 程序。 如果较旧的环境不使用在较新版本的 Java 或 CICS中除去的 API ,那么您仍可以运行在新的运行时环境中使用较旧版本的 Java 编译的代码。 有关详细信息,请参阅使用 IBM® CICS SDK for Java时的 Target Platform 设置。

查看 JVM 概要文件以获取新设置

所有版本

JVM 概要文件中的设置将从发行版更改为发行版,因此您必须升级所有 JVM 概要文件。 最佳实践是使用最新发行版随附的样本 JVM 概要文件,并重新应用您在先前发行版中对这些 JVM 概要文件进行的任何定制。

有关样本概要文件的更多信息,请参阅 JVM 概要文件验证和属性。 有关 JVM 配置文件的更改摘要,请参阅 JVM 配置文件的更改

迁移到 Java 17 或更高版本

6.3

CICS TS 6.3 支持 Java 17 及更高版本。 删除了对 Java 版本 8 和版本 11 的支持。

将 JVM 配置文件中的 JAVA_HOME 选项更新为已安装的 IBM Semeru Runtime® Certified Edition for z/OS® 版本 17 或版本 21 的位置。 有关更多信息,请参阅设置 Java 运行时版本

Java 的目标是与以前版本的 Java 兼容。 使用前一版本 Java 编译的现有应用程序应能在 Java 17 或更高版本的运行环境中运行,且保持不变。

操纵 Java 字节码的 Java 应用程序如果还不能容忍 Java 17 或更高版本的字节码,则必须进行更新。 当 Java 应用程序不能容忍当前版本的 Java 字节码时,就会抛出 IllegalArgumentException 。 例如,
java.lang.IllegalArgumentException: Unsupported class file major version 61

Spring Boot 使用 Java 8 编译器编译的应用程序使用的字节码操作库不能容忍 Java 17 或更高版本的字节码,可能会在 中失效。 CICS 使用 Java 17 或更高版本的编译器和更新的依赖项重新编译这些应用程序。