JVMSERVER resources

A JVMSERVER resource defines the runtime environment for a JVM server.

The JVMSERVER resource defines the location of the JVM profile and the Language Environment® options that are required to create a Language Environment enclave and a JVM server in a CICS® region.

JVMSERVER resources in CICS bundles

You can use a CICS bundle to create, edit, and install a JVMSERVER resource definition. If you create a JVMSERVER resource in this way, you must use the CICS bundle to manage the lifecycle of that resource, and you cannot manage the resource independently.

For JVM servers that are packaged in CICS bundles, the JVM profiles are packaged with the resource definitions in the CICS bundles. You can therefore install the JVM server in any CICS region without needing to set up a JVM profile in the local JVM profile directory for the CICS region.

When creating a JVM server, you can create the JVM profile using sample templates for an OSGi JVM server, an Axis2 JVM server, or a Liberty JVM server, or import an existing JVM profile to the CICS bundle from elsewhere in the workspace or from the local file system.

The set of acceptable characters in the JVM profile name is more restricted when the JVMSERVER resource is defined in a CICS bundle. For details, see JVMSERVER attributes. The directory name for the directory where the JVM profile is stored is limited to 240 characters, which is the same limit that applies to JVM profiles that are not defined in CICS bundles.

You can inquire on a JVMSERVER resource that is dynamically generated by a CICS bundle, by using the EXEC CICS INQUIRE JVMSERVER or CEMT INQUIRE JVMSERVER command.

You cannot issue the DISCARD command against a JVMSERVER resource that is dynamically generated by a CICS bundle. You must discard the CICS bundle, and CICS applies the operation to the JVMSERVER resource.

To modify the attributes of a JVMSERVER resource that was defined and installed in a CICS bundle, use the resource editor in the CICS Explorer® to modify the definition in the CICS bundle, and install a new version of the CICS bundle or of the application with which it was deployed. You can use the SET JVMSERVER command to change the attributes of the dynamically generated resource, but these changes are not cataloged and are not recovered across a warm restart of CICS.

To change the status of a JVMSERVER resource that was defined and installed in a CICS bundle, enable or disable the CICS bundle. If you have disabled the CICS bundle, but you need to purge tasks that are still running in the JVM server, you can issue the SET JVMSERVER DISABLED command against the dynamically generated resource with the PURGE, FORCEPURGE, or KILL option to purge the tasks.

A JVM server that is defined in a CICS bundle must be installed and enabled before you install OSGi bundles or other application artifacts for Java™ applications that run in it. It is good practice to deploy a CICS bundle containing the definition for a JVMSERVER resource as part of a platform bundle, and to then deploy the CICS bundles containing OSGi bundles or other Java application artifacts as part of applications that are deployed on the platform. This architecture ensures that when the resources are first installed in a CICS region or if the CICS region is restarted, the JVM server and the Java application resources are installed and enabled in the correct order.

For more information about defining resources in CICS bundles, see Defining CICS bundles.