CICS can use various options when creating a JVM. You can create different
sets of options, known as JVM profiles, that produce JVMs that are
suitable for different applications. The JVM profiles contain the Java launcher
options, and also reference a JVM properties file containing the system
properties for the JVM. (System properties are key name and value pairs that
contain basic information about the JVM and its environment.) Among other
things, the JVM properties file determines the security properties of the
JVM. CICS supplies sample JVM profiles and JVM properties files, and in many
cases, you may find that you can use these unchanged.
When CICS receives a request to run a Java program, a JVM profile is named
on the PROGRAM resource definition for the Java program. (How CICS locates the PROGRAM resource definition to create a JVM explains
how CICS locates the PROGRAM resource definition for different types of request.)
CICS creates a JVM using the options given in this JVM profile, and the system
properties given in the JVM properties file that the JVM profile references.
Alternatively, CICS finds a free JVM that it has already created with these
options and system properties.
A JVM profile specifies, among other things:
- The library path, for native C dynamic link library (DLL) files that are
used by the JVM, including those required to run the JVM and additional native
libraries loaded by trusted code.
- The middleware class path, for classes that are to be treated as trusted
middleware classes (see Classes in a JVM).
- The standard class path, for nonshareable application classes that are
to be discarded if the JVM is reset (see Classes in a JVM).
- The initial size of the storage heaps in the JVM, and how far they can
expand (see Storage heaps in a JVM).
- The maximum size of the stacks for Java code and C code.
- The level of reusability for the JVM: whether it can be reset and reused
(resettable JVMs), or reused without being reset (continuous JVMs), or thrown
away after use (single-use JVMs). How JVMs are reused explains
more about this.
- Whether the JVM uses the shared class cache, so is a worker JVM (see The shared class cache).
- The destinations for messages from JVM internals and for output from Java
applications running in the JVM. (Redirecting JVM output tells
you more about these options.)
- The level of messages that the JVM should issue about its activities.
- Whether the JVM should perform additional checks on certain activities.
- The settings for assertion checking for system classes and application
classes.
- Whether the JVM should support debugging.
- The path to the JVM properties file containing the system properties for
the JVM.
The CICS® System
Definition Guide has the full list of options that you can specify
using a JVM profile.
Note: In
some earlier versions of CICS, you could use the -Xquickstart option
(specified using the Xservice option) in a JVM profile to
reduce the startup time for the JVM. However, with improvements in JVM technology,
the -Xquickstart option is now permanently enabled, and specifying -Xquickstart in
a JVM profile has no effect.
A JVM properties file specifies, among other things:
The CICS System
Definition Guide has the full list of options that you can specify
using a JVM properties file.
Setting up JVM profiles and JVM properties files tells you how to set up suitable
JVM profiles and JVM properties files to meet the needs of your applications.