JVM 系统属性

JVM 系统属性提供特定于 JVM 及其运行时环境的配置信息。 您可以通过将 JVM 系统属性添加到 JVM 概要文件来提供这些属性。 在运行时, CICS ® 从 JVM 概要文件读取属性,并将其传递到 JVM。

属性前缀

必须使用 -D 前缀来设置系统属性,例如, com.ibm.cics 的正确语法为 -Dcom.ibm.cics
  • com.ibm.cics 指示该属性特定于 CICS 环境中的 IBM® JVM。
  • com.ibm 指示更广泛使用的常规 JVM 属性。
  • java.ibm 还指示更广泛使用的常规 JVM 属性。

有关常规属性的信息,请参阅 JVM 概要文件验证和属性

属性编码规则

必须根据一组编码规则指定属性。 有关规则的更多信息,请参阅 JVM 概要文件编码规则

属性对 JVM 服务器的不同用途的适用性

三种类型的 JVM 服务器是 OSGi , Liberty 和类路径。 可以将类路径 JVM 服务器进一步优化为支持 Axis2 ,支持安全性令牌服务器 (STS) ,支持批处理和支持移动。 下表显示了适用于每个特定功能的选项。 该表还指示特定使用 JVM 服务器时是否支持属性。 请注意,某些属性是只读的。 更改只读属性可能会导致运行时环境失败。 有关这些属性的详细信息,请参阅 只读属性

表 1. 按 JVM 服务器列出的选项使用
系统属性 OSGi Liberty 类路径
com.ibm.cics.json.enableAxis2Handlers 不支持 不支持 受支持
com.ibm.cics.jvmserver.applid 受支持 受支持 受支持
com.ibm.cics.jvmserver.cics.product.name 不支持 受支持 不支持
com.ibm.cics.jvmserver.cics.product.version 不支持 受支持 不支持
com.ibm.cics.jvmserver.configroot 受支持 受支持 受支持
com.ibm.cics.jvmserver.controller.timeout 受支持 受支持 不支持
com.ibm.cics.jvmserver.local.ccsid 受支持 受支持 受支持
com.ibm.cics.jvmserver.name 受支持 受支持 受支持
com.ibm.cics.jvmserver.override.ccsid 受支持 受支持 受支持
com.ibm.cics.jvmserver.supplied.ccsid 受支持 受支持 受支持
com.ibm.cics.jvmserver.threadjoin.timeout 受支持 受支持 不支持
com.ibm.cics.jvmserver.trace.filename 受支持 受支持 受支持
com.ibm.cics.jvmserver.trace.format 受支持 受支持 受支持
com.ibm.cics.jvmserver.trace.specification 受支持 受支持 受支持
com.ibm.cics.jvmserver.trigger.timeout 受支持 受支持 不支持
com.ibm.cics.jvmserver.unclassified.tranid 受支持 受支持 不支持
com.ibm.cics.jvmserver.unclassified.userid 受支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.args 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.autoconfigure 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.defaultapp 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.install.dir 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.jdbc.driver.location 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.jta.integration 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.latebinding 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.optimize.static.resources 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.optimize.static.resources.extra 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.reserve.thread.percentage 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.config.dir 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.host 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.http.port 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.https.port 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.name 不支持 受支持 不支持
com.ibm.cics.jvmserver.wlp.server.output.dir 不支持 受支持 不支持
com.ibm.cics.sts.config 不支持 不支持 受支持 (仅限 STS)
com.ibm.ws.logging.console.log.level 不支持 受支持 不支持
com.ibm.ws.zos.core.angelName 不支持 受支持 不支持
com.ibm.ws.zos.core.angelRequired 不支持 受支持 不支持
console.encoding 受支持 受支持 受支持
file.encoding 受支持 受支持 受支持
java.security.manager 受支持 不支持 受支持
java.security.policy 受支持 不支持 受支持
org.osgi.framework.storage.clean 受支持 受支持 不支持
org.osgi.framework.system.packages.extra 受支持 受支持 不支持
osgi.compatibility.bootdelegation 受支持 受支持 不支持

只读属性

com.ibm.cics.json.enableAxis2Handlers
指示 JVM 在处理 JSON 数据时需要能够运行 Axis2 处理程序。 此属性仅与指定了 JAVA_PIPELINE=YES 并配置为支持 JSON 管道的 JVM 相关。 此选项与 CICS 中的 z/OS Connect 不相关,仅当需要此功能时才应启用此选项。 启用此选项将确保 Axis2 处理程序可以在 JSON 工作负载期间运行,但启用此选项可能会造成性能下降,并且映射级别 4.2 和更高版本的 WSBind 文件的某些功能将不可用。
com.ibm.cics.jvmserver.applid
指定 CICS 区域应用程序标识 (APPLID)。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.cics.product.name
指定运行 Liberty 的 CICS 产品的名称。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.cics.product.version
指定运行 Liberty 的 CICS 产品的版本。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.configroot
指定可以在其中找到配置文件 (例如 JVM 服务器的 JVM 概要文件) 的位置。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.local.ccsid
指定使用 JCICS API 时用于文件编码的代码页。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.name
指定 JVM 服务器的名称。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.supplied.ccsid
指定本地 CICS 区域的缺省 CCSID。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.trace.filename
指定 JVM 服务器跟踪文件的名称。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.wlp.install.dir
指定 Liberty 安装的位置。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.wlp.server.config.dir
指定 Liberty 配置目录的位置。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。
com.ibm.cics.jvmserver.wlp.server.output.dir
指定可以在其中查找 Liberty 日志的 Liberty 输出目录的位置。 这是只读属性。 您可以在应用程序中使用此属性,但不应对其进行更改。

可更改的属性

com.ibm.cics.jvmserver.controller.timeout= {时间|90000ms}
仅在更改此值时使用数字字符。
警告: 此属性随时可能更改。
com.ibm.cics.jvmserver.override.ccsid=
警告: 此属性适用于高级用户。
在使用 JCICS API 时,它将覆盖文件编码的代码页。 缺省情况下, JCICS 使用 LOCALCCSID 系统初始化参数的值作为文件编码。 如果选择覆盖此值,请在此属性中设置代码页。 使用 EBCDIC 代码页。 必须确保应用程序与新代码页一致,否则可能会发生错误。 有关有效 CCSID 的更多信息,请参阅 LOCALCCSID 系统初始化参数
com.ibm.cics.jvmserver.threadjoin.timeout= {时间|30000ms}
控制正在等待线程的请求排队等待 service.Only 在更改此值时使用数字字符。
com.ibm.cics.jvmserver.trace.format= {FULL|SHORT|ABBREV}
控制为了您自己的目的可以改变的跟踪的格式。 将诊断信息发送到 IBM 服务时,必须将其设置为 SHORT
com.ibm.cics.jvmserver.trace.specification= {filter_text}
警告: 仅在 IBM 服务指南下使用此属性。 此属性随时可能更改。

指定 JVM 服务器跟踪过滤器字符串,允许对来自 JVM 服务器的包和类跟踪进行更细粒度的控制。 {filter_text} 是一个以冒号分隔的子句字符串,用于设置一个或多个指定组件的跟踪级别。 如果未指定,那么缺省值等同于 com.ibm.cics.*=ALL

SJ 域跟踪标志仍是主开关,但此跟踪规范允许对特定组件进行额外过滤。

对于任何给定的类或包,将应用最具体的过滤器子句。 可以将每个 filter 子句设置为下列其中一个级别:

{ALL, DEBUG, ENTRYEXIT, EVENT, INFO, WARNING, ERROR, NONE}

示例 1:

com.ibm.cics.jvmserver.trace.specification=com.ibm.cics.*=NONE

禁止所有输出的单个过滤器子句。

示例 2:

com.ibm.cics.jvmserver.trace.specification=com.ibm.cics.*=NONE:com.ibm.cics.wlp.*=ALL

此示例具有两个过滤器子句。 第一个过滤器子句禁止所有跟踪。 第二个 filter 子句更适用于 com.ibm.cics.wlp 组件下的所有包,并确保写入其所有跟踪输出。

示例 3:

com.ibm.cics.jvmserver.trace.specification=com.ibm.cics.wlp.impl.CICSTaskWrapper=NONE:com.ibm.cics.wlp.impl.CICSTaskInterceptor=NONE 

此示例具有两个过滤器子句。 将写入所有跟踪,但从 com.ibm.cics.wlp.impl 包的特定 CICSTaskWrapper 和 CICSTaskInterceptor 类生成的跟踪除外。

com.ibm.cics.jvmserver.trigger.timeout= {时间|500ms}
仅在更改此值时使用数字字符。
警告: 仅在 IBM 服务指南下使用此属性。 此属性随时可能更改。
com.ibm.cics.jvmserver.unclassified.tranid={transaction id}
指定用于 JVM 服务器中运行的未分类工作的缺省事务。
  • 在 Liberty JVM 服务器中,除非指定 com.ibm.cics.jvmserver.unclassified.tranid 属性,否则未分类的工作将在事务 CJSU 下运行。
  • 在 OSGI JVM 服务器中,除非指定 com.ibm.cics.jvmserver.unclassified.tranid 属性,否则未分类的工作将在事务 CJSA 下运行。
用户必须通过复制 CJSA 或 CJSU 事务来确保将指定的事务标识定义到 CICS。
com.ibm.cics.jvmserver.unclassified.userid={user id}
允许用户更改在 JVM 服务器中 作为 CICS 任务 运行未分类工作的缺省用户标识。 如果未 指定,那么将使用 CICS 缺省用户标识。 指定的用户标识必须定义到 RACF ® ® ,并且具有运行工作所需的许可权。
未分类的工作是 Liberty 的 HTTP 分类组件未标识的任何请求,例如 JMS ,入站 JCA 和 EJB 请求等。
com.ibm.cics.jvmserver.wlp.args=

提供在启动期间设置 Liberty 服务器选项的方法。 有关服务器选项的列表,请参阅 服务器命令选项中的 "options" 部分。

警告: 此属性通常在 IBM 服务指导下使用。
com.ibm.cics.jvmserver.wlp.autoconfigure= {false|true}
指定 CICS 是否自动为 Liberty JVM 服务器创建和更新 server.xml 文件。 如果将此属性设置为 true ,那么 CICS 将创建必需的 Liberty 目录结构和配置文件。 如果您为其他 Java™ 属性 (例如 HTTP 端口号) 提供值,那么 CICS 还会更新 server.xml 文件。
com.ibm.cics.jvmserver.wlp.defaultapp= {false|true}
指示 CICS 将 defaultApp-1.0 功能部件添加到 server.xml,这将安装可用于验证 Liberty 服务器是否已正确安装和启动的缺省 CICS Web 应用程序。
提示: 仅当 com.ibm.cics.jvmserver.wlp.autoconfigure=true时才使用此属性。
com.ibm.cics.jvmserver.wlp.jdbc.driver.location=
指定包含 DB2® JDBC 驱动程序的目录的位置。 该位置必须包含 DB2 JDBC 驱动程序 classeslib 目录。 如果自动配置属性 com.ibm.cics.jvmserver.wlp.autoconfigure=true,那么在启用 JVM 服务器时, server.xml 中的现有示例配置将替换为缺省配置,并且任何用户更新都将丢失。
com.ibm.cics.jvmserver.wlp.jta.integration= {false|true}
启用与 Java 事务 API (JTA) 的 CICS 集成。 当通过 JTA 接口创建的事务生效时, CICS 工作单元从属于 Java 事务管理器。
提示: 仅当 com.ibm.cics.jvmserver.wlp.autoconfigure=true时才使用此属性。
com.ibm.cics.jvmserver.wlp.latebinding= {NONHTTP|COMPATIBILITY}
警告: 仅在 IBM 服务指南下使用此属性。 此属性随时可能更改。
com.ibm.cics.jvmserver.wlp.optimize.static.resources= {true|false}

允许在非 CICS 线程上处理静态内容的请求。 以下类型的文件可识别为静态文件: .css .gif .ico .jpg .jpeg .js.png

com.ibm.cics.jvmserver.wlp.reserve.thread.percentage= {percent|10}

保留 Liberty JVM 服务器的线程限制的百分比,以供 OSGi 应用程序使用。 该值可以在 1% 到 50% 之间。

com.ibm.cics.jvmserver.wlp.optimize.static.resources.extra=

指定用于优化的额外静态资源的定制列表。 项必须以逗号分隔,并且以句点开头,例如: .css.gif.ico

提示: 仅当 com.ibm.cics.jvmserver.wlp.optimize.static.resources=true时才会遵守此值。
com.ibm.cics.jvmserver.wlp.server.host= {*|hostname|IP_address}
指定用于访问 Web 应用程序的 HTTP 请求的主机的名称或 IP 地址 (采用 IPv4 或 IPv6 格式)。 Liberty JVM 服务器使用 * 作为缺省值。 此值不适用于在 CICS 中运行 Web 应用程序,因此请使用此属性来提供其他值或更新 server.xml 文件。
提示: 仅当 com.ibm.cics.jvmserver.wlp.autoconfigure=true时才使用此属性。
com.ibm.cics.jvmserver.wlp.server.http.port= {9080|port_number}
指定用于接受 Java Web 应用程序的 HTTP 请求的端口。 CICS 使用 Liberty 提供的缺省值。 Liberty JVM 服务器不使用 TCPIPSERVICE 资源。 确保端口号在 z/OS® 系统上可用或共享。
提示: 仅当 com.ibm.cics.jvmserver.wlp.autoconfigure=true时才使用此属性。
com.ibm.cics.jvmserver.wlp.server.https.port= {9443|port_number}
指定用于接受 Java Web 应用程序的 HTTPS 请求的端口。 CICS 使用 Liberty 提供的缺省值。 Liberty JVM 服务器不使用 TCPIPSERVICE 资源,因此请确保端口号在 z/OS 系统上可用或共享。
提示: 仅当 com.ibm.cics.jvmserver.wlp.autoconfigure=true时才使用此属性。
com.ibm.cics.jvmserver.wlp.server.name= {defaultServer|server_name}
指定 Liberty 服务器的名称。 您应该不需要指定此属性,因为它会影响 Liberty 服务器配置以及输出文件和目录的位置。
com.ibm.cics.sts.config=路径
指定 STS 配置文件的位置和名称。
com.ibm.ws.logging.console.log.level= {INFO|AUDIT|WARNING|ERROR|OFF}
控制 Liberty 将哪些消息写入 JVM 服务器标准输出文件。 Liberty 控制台消息也会写入 Liberty messages.log 文件,而与此属性的设置无关。
com.ibm.ws.zos.core.angelName=named_angel
指定要连接到的 Liberty JVM 服务器的指定 Angel 进程。 如果未指定 com.ibm.ws.zos.core.angelName,那么在需要时,会将缺省 Angel 进程用于 Liberty JVM 服务器启动。
com.ibm.ws.zos.core.angelRequired= {false|true}
指示 Liberty JVM 服务器启动是否需要 Angel 进程。
console.encoding=
指定 JVM 服务器输出文件的编码。
file.encoding=
指定用于由 JVM 读取和写入字符的代码页。 缺省情况下,z/OS 上的 JVM 使用 EBCDIC 代码页 IBM1047(或 cp1047)。
  • 在为 OSGi 配置的概要文件中,可以指定 JVM 支持的任何代码页。 CICS 允许任何代码页,因为 JCICS 将 CICS 区域的本地 CCSID 用于其字符编码。
  • 在为 Liberty JVM 服务器配置的概要文件中,提供的缺省值为 ISO-8859-1。 您还可以使用 UTF-8。 不支持任何其他代码页。
  • 在为 Axis2配置的概要文件中,必须指定 EBCDIC 代码页。
java.security.manager= {default | "" | |other_security_manager}
指定要对 JVM 启用的 Java 安全管理器。 要启用缺省 Java 安全管理器,请以下列其中一种格式包含此系统属性:
  • java.security.manager=default
  • java.security.manager=""
  • java.security.manager=

所有这些语句都将启用缺省安全管理器。 如果未在 JVM 概要文件中包含 java.security.manager 系统属性,那么 JVM 将在禁用 Java 安全性的情况下运行。

java.security.policy=
描述希望安全管理器用于确定 JVM 的安全策略的额外策略文件的位置。 在 /usr/lpp/java/J7.0_64/lib/security/java.policy中随 JVM 提供了缺省策略文件,其中 java/J7.0_64 子目录名称是安装 IBM 64 位 SDK for z/OSJava Technology Edition时的缺省值。 缺省安全管理器始终使用此缺省策略文件来确定 JVM 的安全策略,并且您可以使用 java.security.policy 系统属性来指定您希望安全管理器考虑的任何策略文件以及缺省策略文件。

要使 CICS Java 应用程序能够在 Java 安全性处于活动状态时成功运行,请至少指定一个额外的策略文件,以授予 CICS 运行该应用程序所需的许可权。

有关启用 Java 安全性的信息,请参阅 启用 Java 安全性管理器

org.osgi.framework.storage.clean={onFirstInit}
此选项特定于支持 OSGi 的 JVM 服务器 (包括 Liberty)。 它指定是否以及何时应该清除 OSGi 框架的存储区。 如果未指定任何值,那么将不会清除框架存储区。 首次初始化框架实例时, onFirstInit 会清空捆绑软件高速缓存。 例如,在启用 JVM 服务器时。 在正常操作下不需要框架存储清理。
org.osgi.framework.system.packages.extra=
此选项特定于支持 OSGi 的 JVM 服务器 (包括 Liberty) ,这允许通过 OSGi 框架公开 JRE 和定制 Java 包的扩展以进行后续捆绑软件导入解析。 JVM 供应商可能会在 JRE 中提供不同的扩展。 在 IBM JVM 服务器中,该选项将进行扩充,以包含 CICS 选择从 IBM JRE 公开的软件包集。 如果需要,可以设置此属性以定义其他包。 有关更多信息,请参阅 OSGi Alliance 规范
osgi.compatibility.bootdelegation= {true|false}
此选项特定于 OSGi 的 Equinox 实现。 它适用于支持 OSGi 的 JVM 服务器,包括 Liberty。 当设置为 true时, OSGi 框架将对通过正常 OSGi 捆绑软件依赖关系解析机制找不到的包采用最后一个不得已的引导授权策略。 如果在开发时忽略了显式依赖关系,那么此选项允许 OSGi 运行时更容错。 作为最后的方法算法,与直接解析 (其中在 Import-Package 捆绑包头中显式列出了包) 相比,会产生少量开销。
为了实现严格的 OSGi 合规性,提高可移植性和最佳性能,请将此选项设置为 false ,并确保在捆绑软件 MANFEST.MF中显式声明 OSGi 捆绑软件中使用的所有软件包。