Java™ system properties determine the environment in which the Java programs run. They are similar to system values or environment variables in i5/OS™.
Starting a Java virtual machine (JVM) sets the system properties for that instance of the JVM. For more information about how to specify values for Java system properties, see the following pages:
For more information on Java system properties, see Java Secure Socket Extension (JSSE) system properties.
The following table lists the Java system properties for the supported versions of the Java 2 Software Development Kit (J2SDK), Standard Edition:
For each property, the table lists the name of the property and either the default values that apply or a brief description. The table indicates which system properties have different values in different versions of the J2SDK. When the column that lists the default values does not indicate different versions of the J2SDK, all supported versions of the J2SDK use that default value.
awt.toolkit | sun.awt.motif.MToolkit awt.toolkit will be unset unless os400.awt.native=true or java.awt.headless=true |
file.encoding | ISO8859_1 (default value) Maps the coded character set identifier (CCSID) to the corresponding ISO ASCII CCSID. Also, sets the file.encoding value to the Java value that represents the ISO ASCII CCSID. See file.encoding values and iSeries™ CCSID for a table that shows the relationship between possible file.encoding values and the closest matching CCSID. |
file.encoding.pkg | sun.io |
file.separator | / (forward slash) |
java.awt.headless |
|
java.class.path | . (period) (default value) Designates the path that i5/OS uses to locate classes. Defaults to the user-specified CLASSPATH. |
java.class.version |
|
java.compiler | jitc_de (default value) Specifies whether you compile code by using the Just-In-Time (JIT) compiler (jitc) or both the JIT compiler and direct processing (jitc_de). |
java.ext.dirs | J2SDK v1.3:
J2SDK v1.4:
J2SE 5.0:
|
java.home | J2SDK v1.3: /QIBM/Prodata/Java400/jdk13 J2SDK v1.4: /QIBM/ProdData/Java400/jdk14 (default value) J2SDK v1.5: /QIBM/ProdData/Java400/jdk15 See Support for multiple Java Development Kits (JDKs) for details. |
java.library.path |
|
java.net.preferIPv4Stack |
On dual stack machines, system properties are provided for setting the preferred protocol stack (IPv4 or IPv6) as well as the preferred address family types (inet4 or inet6). IPv6 stack is preferred by default, because on a dual-stack machine IPv6 socket can talk to both IPv4 and IPv6 peers. This setting can be changed with this property. java.net.preferIPv4Stack is specific to J2SDK v1.4. For more information, see IPv6 protocol. |
java.net.preferIPv6Addresses |
Even though IPv6 is available on the operating system, the default preference is to prefer an IPv4-mapped address over an IPv6 address. This property controls whether IPv6 (true) or IPv4 (false) addresses are used. java.net.preferIPv4Stack is specific to J2SDK v1.4. For more information, see IPv6 protocol. |
java.policy | J2SDK v1.3: /QIBM/ProdData/ Java400/jdk13/lib/security/java.policy J2SDK v1.4: /QIBM/ProdData/OS400/ Java400/jdk/lib/security/java.policy (default value) J2SE v5.0: /QIBM/ProdData/ Java400/jdk15/lib/security/java.policy |
java.specification.name |
|
java.specification.vendor | Sun Microsystems, Inc. |
java.specification.version |
|
java.use.policy | true |
java.vendor | IBM® Corporation |
java.vendor.url | http://www.ibm.com |
java.version |
Determines which version of the J2SDK that you want to run. Installing a single version of the J2SDK makes that version the default.
Specifying a version that is not installed results in an error message. Failing
to specify a version uses the most recent version of the J2SDK as the default.
Note: java.version
is ignored if placed in the SystemDefault.properties file and trying to use
the Java Native
Inteface (JNI). For more information, see Support
for multiple J2SDKs.
|
java.vm.name | Classic VM |
java.vm.specification.name | Java Virtual Machine Specification |
java.vm.specification.vendor | Sun Microsystems, Inc. |
java.vm.specification.version | 1.0 |
java.vm.vendor | IBM Corporation |
java.vm.version |
|
line.separator | \n |
os.arch | PowerPC® |
os.name | i5/OS |
os.version | V5R4M0 (default value) Obtains the i5/OS release level from the Retrieve Product Information application program interface (API). |
os400.awt.native | Controls whether the Abstract Windowing Toolkit (AWT) API is supported or not. Valid values are true and false. The default is false unless java.awt.headless=true is set, in which case os400.awt.native is implied to be true. |
os400.certificateContainer | Directs Java secure sockets layer (SSL) support to use the specified certificate container for the Java program that was started and the property that was specified. If you specify the os400.secureApplication system property, this system property is ignored. For example, enter -Dos400.certificateContainer=/home/username/ mykeyfile.kdb or any other keyfile in the integrated file system. |
os400.certificateLabel | You can specify this system property in conjunction with the os400.certificateContainer system property. This property lets you select which certificate in the specified container you want secure sockets layer (SSL) to use. For example, enter-Dos400.certificateLabel=myCert, where myCert is the label name that you assign to the certificate through the Digital Certificate Manager (DCM) when you create or import the certificate. |
os400.child.stdio.convert | Controls the data conversion for stdin, stdout, and stderr in Java. Data conversion between ASCII data and Extended Binary Coded Decimal Interchange Code (EBCDIC) data occurs by default in the Java virtual machine. Using this property to turn on and turn off these conversions also affects any child processes that this process starts by using the runtime.exec() method. See default values. |
os400.class.path.security.check | 20 (default value) Valid values:
|
os400.class.path.tools | 0 (default value) Valid values:
For J2SDK v1.3, the path to tools.jar is /QIBM/ProdData/Java400/jdk13/lib/ For J2SDK v1.4, the path to tools.jar is /QIBM/ProdData/OS400/Java400/jdk/lib/ For J2SE v5.0, the path to tools.jar is /QIBM/ProdData/Java400/jdk15/lib/ |
os400.create.type |
|
os400.define.class.cache.file | default value is /QIBM/ProdData/Java400/QDefineClassCache.jar Specifies the name of a JAR or ZIP file. See "Using cache for user class loaders" in Java performance considerations. |
os400.define.class.cache.hour |
Specifies a decimal value. See "Using cache for user class loaders" in Java performance considerations/ |
os400.define.class.cache.maxpgms |
Specifies a decimal value. See "Using cache for user class loaders" in Java performance considerations/ |
os400.defineClass.optLevel | 0 |
os400.display.properties | If this value is set to 'true', then all of the Java Virtual Machine properties are printed to standard out. No other values are recognized. |
os400.enbpfrcol |
For a nonzero value, the JIT generates *JVAENTRY, *JVAEXIT, *JVAPRECALL and *JVAPOSTCALL events. |
os400.exception.trace | This property is used for debugging. Specifying this property causes the most recent exceptions to be sent to standard output when the JVM exits. |
os400.file.create.auth, os400.dir.create.auth | These properties specify authorities assigned to files and directories.
Specifying the properties without any values or with unsupported values results
in a public authority of *NONE. You can specify os400.file.create.auth=RWX or os400.dir.create.auth=RWX, where R=read, W=write, and X=execute. Any combination of these authorities is valid. |
os400.file.io.mode | Converts the CCSID of the file if it is different than the file.encoding value when you specify TEXT, rather than the default, which is BINARY. |
os400.gc.heap.size.init | An alternative to using -Xms (setting initial GC size). It is strongly
recommended that you to continue to use -Xms unless you have no other choice
as this property is specific to i5/OS.
This property was introduced mainly so that you can specify initial GC size
in the SystemDefault.properties file. Note: Use this property carefully; it
will override -Xms if specified. The value must be an integer in size of
kilobytes and without commas.
|
os400.gc.heap.size.max | An alternative to using -Xmx (setting maximum GC size). It is strongly
recommended that you continue to use -Xmx unless you have no other choice
as this property is specific to i5/OS.
This property allows you to maximum GC size in the SystemDefault.properties
file. Note: Use this property carefully; it will override -Xmx if specified.
The value must be an integer in size of kilobytes and without commas.
|
os400.interpret |
|
os400.jit.mmi.threshold | Sets the number of times that a method runs by using the Mixed-Mode
Interpreter (MMI) before i5/OS uses
the JIT compiler to compile the method into native machine instructions. Usually,
you should not change the default value, which is 2000.
|
os400.job.file.encoding | This property is used for output only. It lists the file encoding of the i5/OS job that the JVM is in. |
os400.optimization |
|
os400.pool.size | Defines how much space (in kilobytes) to make available for each heap pool in the thread local heap. |
os400.run.mode |
|
os400.run.verbose | If this value is set to 'true', then verbose classloading is printed to standard out. No other values are recognized. Accomplishes the same thing as specifying -verbose in QSHELL or OPTION(*VERBOSE) on the CL commands, except this property works in the SystemDefault.properties file. |
os400.runtime.exec |
For more information, see Use java.lang.Runtime.exec() |
os400.secureApplication | Associates the Java program that starts when using this system property (os400.secureApplication) with the registered secure application name. You can view registered secure application names by using the Digital Certificate Manager (DCM). |
os400.security.properties | Allows full control over which java.security file you use. When you specify this property, J2SDK does not use any other java.security files, including the J2SDK specific java.security default. |
os400.stderr | Allows mapping stderr to a file or socket. See default values. |
os400.stdin | Allows mapping stdin to a file or socket. See default values. |
os400.stdin.allowed | 1 (default value) Specifies whether stdin is allowed (1) or not allowed (0). If the caller is running a batch job, stdin should not be allowed. |
os400.stdio.convert | Allows control of the data conversion for stdin, stdout, and stderr in Java. Data conversion occurs by default in the Java virtual machine to convert ASCII data to or from EBCDIC. You can turn these conversions on or off with this property, which affects the current Java program. See default values. |
os400.stdout | Allows mapping stdout to a file or socket. See default values. |
os400.xrun.option | This system property allows the Qshell -Xrun option to be used by specifying a property. You can use it to specify an agent program to run during JVM startup. |
os400.verify.checks.disable | 65535 (default value) This system property value is a string that represents the sum of one or more numeric values. For a list of these values, see os400.verify.checks.disable numeric values. |
os400.vm.inputargs | This property is used for output only. It will display the arguments that the JVM received as inputs. This property can be useful for debugging what was specified on JVM startup. |
path.separator | : (colon) |
sun.boot.class.path | Lists all of the files required by the default boot classloader. Do not change this value. |
user.dir | Current working directory using the getcwd API. |
user.home | Retrieves the initial working directory by using the Get API (getpwnam). You can place a SystemDefault.properties file in your user.home path to override the default properties in /QIBM/UserData/Java400/SystemDefault.properties. You can customize the iSeries server to specify your own set of default property values. |
user.language | The Java virtual machine uses this system property to read the job LANGID value and uses this value to find the corresponding language. |
user.name | The Java virtual machine uses this system property to retrieve the effective user profile name from the Security section (Security.UserName) of the Trusted Computing Base (TCB). |
user.region | The Java virtual machine uses this system property to read the job CNTRYID value and uses this value to determine the user region. |
user.timezone | Universal Time Coordinate (UTC) (default value) The Java virtual
machine uses this system property to obtain the time zone name by using the
QlgRetrieveLocalInformation API. The JVM looks to the system QLOCALE object
first. If not found, the JVM then looks at the QTIMZON system value. If the
QTIMZON system value contains a non-recognized QTIMZON object, the JVM defaults
the user.timezone to UTC. For more information, see Supported user.timezone property values for the Development Kit for Java in the WebSphere Software Information Center. |