JVM system properties

JVM system properties provide configuration information specific to the JVM and its runtime environment. You provide JVM system properties by adding them to the JVM profile. At run time, CICS® reads the properties from the JVM profile, and passes them to the JVM.

Property prefix

System properties must be set using a -D prefix, for example the correct syntax for com.ibm.cicswould be -Dcom.ibm.cics.
  • com.ibm.cics indicates that the property is specific to the IBM® JVM in a CICS environment.
  • com.ibm indicates a general JVM property that is used more widely.
  • java.ibm also indicates a general JVM property that is used more widely.

For information about general properties, see JVM profile validation and properties.

Property coding rules

Properties must be specified according to a set of coding rules. For more information about the rules, see Rules for coding JVM profiles.

Start of change

Applicability of properties to different uses of JVM server

Different properties are applicable, depending on how the JVM server is being used. The following table indicates whether a property is mandatory, optional, or inapplicable for a particular use of a JVM server. Please be aware that some of the properties in the table are READ-ONLY. Changing a READ-ONLY property might result in runtime environment failure. These READ-ONLY properties are detailed further after the table.

Table 1. Options by JVM server use
System property OSGi Liberty Axis2 STS
com.ibm.cics.jvmserver.applid Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.configroot Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.controller.timeout Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.local.ccsid Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.name Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.override.ccsid Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.supplied.ccsid Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.threadjoin.timeout Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.trace.filename Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.trace.format Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.trigger.timeout Supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.args Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.autoconfigure Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.jdbc.driver.location Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.optimize.static.resources Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.server.host Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.server.http.port Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.server.https.port Not supported Supported Not supported Not supported
com.ibm.cics.jvmserver.wlp.server.name Not supported Supported Not supported Not supported
com.ibm.cics.sts.config Not supported Not supported Not supported Supported
com.ibm.ws.logging.console.log.level Not supported Supported Not supported Not supported
console.encoding Supported Supported Supported Supported
file.encoding Supported Supported Supported Supported
java.security.manager Supported Supported Supported Supported
java.security.policy Supported Supported Supported Supported
org.osgi.framework.system.packages.extra Supported Supported Not supported Not supported
End of change

Descriptions of properties - READ-ONLY

com.ibm.cics.jvmserver.applid=
The CICS region application identifier (APPLID). This is a read-only property. You can view its value for use in an application but you cannot change it.
Start of changecom.ibm.cics.jvmserver.configroot=zFS_directoryEnd of change
Start of changeThe zFS location where configuration files, such as the JVM profile of a JVM server, can be found. This is a read-only property. You can view its value for use in an application but you cannot change it. End of change
com.ibm.cics.jvmserver.local.ccsid=
Specifies the code page for file encoding when the JCICS API is used. This is a read-only property. You can view its value for use in an application but you cannot change it.
com.ibm.cics.jvmserver.name=
The name of the JVM server. This is a read-only property. You can view its value for use in an application but you cannot change it.
com.ibm.cics.jvmserver.supplied.ccsid=
The default CCSID for the local region. This is a read-only property. You can view its value for use in an application but you cannot change it.
com.ibm.cics.jvmserver.trace.filename=
The name of the JVM server trace file. This is a read-only property. You can view its value for use in an application but you cannot change it.

Descriptions of properties - able to be changed

com.ibm.cics.jvmserver.controller.timeout={time|60000ms}
This property is subject to change at any time.
com.ibm.cics.jvmserver.override.ccsid=
Start of changeThis property is intended for advanced users. It overrides the code page for file encoding when the JCICS API is used. By default, JCICS uses the value of the LOCALCCSID system initialization parameter as the file encoding. If you choose to override this value, set the code page in this property. Use an EBCDIC code page. You must ensure that your applications are consistent with the new code page, or errors might occur. For more information about valid CCSIDs, see LOCALCCSID system initialization parameter.End of change
com.ibm.cics.jvmserver.threadjoin.timeout={time|30000ms}
Use this property only under IBM service guidance. It is subject to change at any time.
Start of changecom.ibm.cics.jvmserver.trace.format={FULL|SHORT|ABBREV}End of change
Start of changeControls the format of the trace. You may vary the trace format for your own purposes but you must set it to FULL when you send diagnostic information to IBM service.End of change
com.ibm.cics.jvmserver.trigger.timeout={time|500ms}
Use this property only under IBM service guidance. It is subject to change at any time.
com.ibm.cics.jvmserver.wlp.args=
Use this property only under IBM service guidance.
com.ibm.cics.jvmserver.wlp.autoconfigure={false|true}
Specifies whether CICS automatically creates and updates the server.xml file for the Liberty JVM server. If you set this property to true, CICS creates the directory structure and configuration files in zFS. CICS also updates the server.xml file if you provide values for other Java™ properties, such as an HTTP port number.
com.ibm.cics.jvmserver.wlp.jdbc.driver.location=
Specifies the location of the directory in zFS that contains the DB2® JDBC drivers. The location must contain the DB2 JDBC driver classes and lib directories. If the autoconfigure property -Dcom.ibm.cics.jvmserver.wlp.autoconfigure is set to true, when the JVM server is enabled, the existing example configuration in server.xml is replaced with the default configuration and any user updates are lost.
Start of changecom.ibm.cics.jvmserver.wlp.optimize.static.resources={true|false}End of change
Start of changeEnables CICS to use fewer transactions to satisfy a request, by using static resource optimization. The following types of file are recognized as static: .css, .gif, .ico, .jpg, .jpeg, and .png.End of change
com.ibm.cics.jvmserver.wlp.server.host={*|hostname|IP_address}
Specifies the name or IP address (in IPv4 or IPv6 format) of the host for HTTP requests to access the web application. The Liberty JVM server uses * as the default value. This value is unlikely to be appropriate for running a web application in CICS, so either use this property to provide a different value or update the server.xml file. This property is optional and is used only when the -Dcom.ibm.cics.jvmserver.wlp.autoconfigure property is set to true.
com.ibm.cics.jvmserver.wlp.server.http.port={9080|port_number}
Specifies a port to accept HTTP requests for a Java web application. CICS uses the default value that is supplied by the Liberty profile. The Liberty JVM server does not use a TCPIPSERVICE resource, so ensure that the port number is free or shared on the z/OS® system. This property is optional and is used only when the -Dcom.ibm.cics.jvmserver.wlp.autoconfigure property is set to true.
com.ibm.cics.jvmserver.wlp.server.https.port={9443|port_number}
Specifies a port to accept HTTPS requests for a Java web application. CICS uses the default value that is supplied by the Liberty profile. The Liberty JVM server does not use a TCPIPSERVICE resource, so ensure that the port number is free or shared on the z/OS system. This property is optional and is used only when the -Dcom.ibm.cics.jvmserver.wlp.autoconfigure property is set to true.
com.ibm.cics.jvmserver.wlp.server.name={defaultServer|server_name}
Specifies the name of the Liberty profile server. The default for this property is defaultServer. This property is optional and you should not need to specify it as it affects the location of the Liberty server configuration and output files and directories on the zFS system.
com.ibm.cics.sts.config=path
The location and name of the STS configuration file.
Start of changecom.ibm.ws.logging.console.log.level={INFO|AUDIT|WARNING|ERROR|OFF}End of change
Start of changeControls which messages Liberty writes to the JVM server stdout file. Liberty console messages are also written to the Liberty messages.log file independent of the setting of this property.End of change
console.encoding=
Specifies the encoding for JVM server output files.
file.encoding=
Specifies the code page for reading and writing characters by the JVM. By default, a JVM on z/OS uses the EBCDIC code page IBM1047 (or cp1047).
  • In a profile that is configured for OSGi, you can specify any code page that is supported by the JVM. CICS tolerates any code page because JCICS uses the local CCSID of the CICS region for its character encoding.
  • In a profile that is configured for the Liberty JVM server, the supplied default value is ISO-8859-1. You can also use UTF-8. Any other code page is not supported for file encoding.
  • In a profile that is configured for Axis2, you must specify an EBCDIC code page.
java.security.manager={default| "" | |other_security_manager}
Specifies the Java security manager to be enabled for the JVM. To enable the default Java security manager, include this system property in one of the following formats:
  • -Djava.security.manager=default
  • -Djava.security.manager=""
  • -Djava.security.manager=
All these statements enable the default security manager. If you do not include the -Djava.security.manager system property in your JVM profile, the JVM runs without Java security enabled. To disable Java security for a JVM, comment out this system property.
java.security.policy=
Describes the location of extra policy files that you want the security manager to use to determine the security policy for the JVM. A default policy file is provided with the JVM in /usr/lpp/java/J7.0_64/lib/security/java.policy, where the java/J7.0_64 subdirectory names are the default values when you install the IBM 64-bit SDK for z/OS, Java Technology Edition. The default security manager always uses this default policy file to determine the security policy for the JVM, and you can use the -Djava.security.policy system property to specify any policy files that you want the security manager to take into account, in addition to the default policy file.

To enable CICS Java applications to run successfully when Java security is active, specify, as a minimum, an extra policy file that gives CICS the permissions it requires to run the application.

For information about enabling Java security, see Enabling a Java security manager.

org.osgi.framework.system.packages.extra=
An option specific to OSGi-enabled JVM servers, including Liberty, which allows extensions of the JRE and custom Java packages to be exposed through the OSGi framework for subsequent bundle import resolution. JVM vendors might provide different extensions in the JRE. In an IBM JVM server, the option is augmented to include the set of packages which CICS chooses to expose from the IBM JRE. Customers can set this property to define additional packages should they be required. For further information, see the OSGi Alliance Specification.