PERFORM CLASSCACHE

Initialize and terminate the shared class cache.

Read syntax diagramSkip visual syntax diagramPERFORM CLASSCACHE
 
>>-PERFORM CLASSCACHE------------------------------------------->
 
>--+-+-INITIALIZE(cvda)-+-+-----------------------+-+---------------------+-+-><
   | +-START------------+ '-CACHESIZE(data-value)-' '-PROFILE(data-value)-' |
   | '-RELOAD-----------'                                                   |
   '-+-TERMINATE(cvda)-+-+-------------------+------------------------------'
     +-PHASEOUT--------+ +-AUTOSTARTST(cvda)-+
     +-PURGE-----------+ +-ENABLED-----------+
     '-FORCEPURGE------' '-DISABLED----------'
 

Conditions: INVREQ, NOTAUTH

For more information about the use of CVDAs, see CICS-value data areas (CVDAs).

Description

You can use the PERFORM CLASSCACHE command to initialize (start or reload) and terminate (phase out, purge or forcepurge) the shared class cache. While you are performing one of these operations, you can use other options on the command to set attributes of the shared class cache, as follows:

When you change the size, JVM profile or autostart status of the shared class cache while CICS is running, subsequent CICS restarts use the most recent settings that you made using the PERFORM CLASSCACHE command (or the SET CLASSCACHE command), unless the system is INITIAL or COLD started, or the system initialization parameters are specified as overrides at startup. In these cases, the settings from the system initialization parameters are used.

Options

AUTOSTARTST(cvda)
sets the status of autostart for the shared class cache. The CVDA values are:
ENABLED
The shared class cache is started as soon as CICS receives a request to run a Java application in a JVM whose profile requires the use of the shared class cache.
DISABLED
An explicit EXEC CICS PERFORM CLASSCACHE INITIALIZE(START) command (or the equivalent CEMT command) is required to start the shared class cache. If the status of the shared class cache is STOPPED and autostart is disabled, and CICS receives a request to run a Java application in a JVM whose profile requires the use of the shared class cache, the request fails.
CACHESIZE(data-value)
is a doubleword binary value. If you are using the INITIALIZE(START) option, CACHESIZE specifies the size, in bytes, of the shared class cache that is to be started. If you are using the INITIALIZE(RELOAD) option, CACHESIZE specifies the size, in bytes, of the new shared class cache that is to be loaded.
INITIALIZE(cvda)
initializes the shared class cache. You can use this option either to start a shared class cache in your CICS region when the shared class cache is stopped (START), or to start a new shared class cache to replace the shared class cache that is active (RELOAD). The CVDA values are:
START
specifies that the shared class cache is to be started. Use this option to create a new class cache when the status of the shared class cache is STOPPED. If specified, CACHESIZE and PROFILE are used in the creation of the cache.
RELOAD
specifies that the shared class cache is to be reloaded. Use this option to create a new class cache when the status of the shared class cache is STARTED (the option only works if the shared class cache has been started). If specified, CACHESIZE and PROFILE are used in the creation of the cache. If newer versions of Java classes are available to be loaded, the new class cache uses them. However, worker JVMs, both those that are already allocated to tasks and those that are allocated to tasks after you issue the command, continue to use the existing shared class cache and the old versions of the Java classes until the new shared class cache is ready. When the new shared class cache is ready, subsequent requests for worker JVMs are given a worker JVM that uses the new cache. These new worker JVMs are started as they are requested by applications, and they replace the worker JVMs that are using the old shared class cache. The worker JVMs that are using the old shared class cache are allowed to finish running their current Java programs, and then they are terminated. The old shared class cache is deleted when all the worker JVMs that are dependent on it have been terminated.
PROFILE(data-value)
If you are using the INITIALIZE(START) option, PROFILE specifies the eight-character name of the JVM profile that will be used for the master JVM that starts the shared class cache. If you are using the INITIALIZE(RELOAD) option, PROFILE specifies the eight-character name of the JVM profile that will be used for the master JVM that loads the new shared class cache.

When you use the name of a JVM profile anywhere in CICS, you must enter it using the same combination of upper and lower case characters that is present in the HFS file name.

If the START or RELOAD command is successfully executed but the master JVM fails to start, CICS retains the JVM profile name that you specify, and displays it as the JVM profile for the master JVM. Next time you issue the command to start or reload the shared class cache, the new JVM profile will be used, unless you change it again using the PROFILE option.

TERMINATE(cvda)
specifies that the shared class cache is to be stopped and deleted. All worker JVMs using the shared class cache are terminated. No more JVMs can use the shared class cache, and it is deleted when all the worker JVMs that were dependent on it have been terminated. This command operates on JVMs using the most recent shared class cache, and on JVMs using any old shared class caches that are present in the system. JVMs running independently of the shared class cache are not affected by this command.

If autostart is enabled for the shared class cache, a new shared class cache is started as soon as a new JVM requests it. If autostart is disabled, the EXEC CICS PERFORM CLASSCACHE INITIALIZE(START) command (or the equivalent CEMT command) must be entered if you want to start a new shared class cache. If you do not restart the shared class cache, requests to run a Java application in a JVM whose profile requires the use of the shared class cache will fail. Specify the AUTOSTARTST option to set the status of autostart.

You can repeat the command, using the PURGE or FORCEPURGE option, to make a stronger attempt to purge the tasks using the JVMs. However, you should only repeat the command if autostart for the shared class cache is disabled. If autostart is enabled, and you repeat the command to terminate the shared class cache, the command could operate on the new shared class cache that has been started by the autostart facility, and terminate it.

The CVDA values for the TERMINATE option are:
PHASEOUT
All worker JVMs using the shared class cache are marked for deletion. The JVMs are actually deleted when they finish running their current Java programs. The shared class cache is deleted when all the worker JVMs that were dependent on it have been terminated.
PURGE
All tasks using worker JVMs dependent on the shared class cache are terminated by the SET TASK PURGE mechanism, and the worker JVMs are terminated. The shared class cache is deleted when all the worker JVMs that were dependent on it have been terminated.
FORCEPURGE
All tasks using worker JVMs dependent on the shared class cache are terminated by the SET TASK FORCEPURGE mechanism, and the worker JVMs are terminated. The shared class cache is deleted when all the worker JVMs that were dependent on it have been terminated.

Conditions

INVREQ
RESP2 values:
4
An invalid value was specified for AUTOSTARTST.
5
TERMINATE was specified for a shared class cache which is already stopped.
6
START was specified for a shared class cache which is not stopped.
7
RELOAD was specified for a shared class cache which is not started.
8
JVM profile name contained invalid characters, or started with a blank followed by valid characters.
NOTAUTH
RESP2 value:
100
The user associated with the issuing task is not authorized to use this command.
[[ Contents Previous Page | Next Page Index ]]