DFHAXRO is a sample program that provides a default set of runtime options for the Language Environment® enclave in which a JVM server runs. For example, it defines storage allocation parameters for the JVM heap and stack. It is not possible to provide default runtime options that are optimized for all workloads. Consider identifying actual storage usage, and override the defaults as required, to optimize the ratio of used storage to allocated storage.
About this task
You can update the sample program to tune the Language Environment enclave
or you can base your own program on the sample. The program is defined
on the JVMSERVER resource and is called during the CELQPIPI preinitialization
phase of the Language
Environment enclave that is created for a JVM server.
You
must write the program in assembly language and it must not be translated
with the CICS® translator. The
options are specified as character strings, comprising a 2-byte string
length followed by the runtime option. The maximum length for all Language Environment runtime
options is 255 bytes, so use the abbreviated version of each option
and restrict your changes to a total of under 200 bytes.
Procedure
- Copy the DFHAXRO program to a new location to edit the
runtime options.
If maintenance is applied to your CICS region, you might want to
reflect the changes in your program. The source for DFHAXRO is in
the CICSTS53.CICS.SDFHSAMP
library.
- Edit the runtime options, using the abbreviation for each
option.
The
z/OS Language Environment Programming
Guide has
complete information about Language Environment runtime
options.
- Keep the size of the list of options to a minimum for quick processing
and because CICS adds some
options to this list.
- Use the HEAP64 option to specify the initial heap allocation.
- The ALL31 option, the POSIX option, and the XPLINK option are
forced on by CICS. The ABTERMENC
option is set to (ABEND) and the TRAP option is set to (ON,NOSPIE)
by CICS.
- The output that is produced by the RPTO and RPTS options is written
to the CESE transient data queue.
- Any options that produce output do so at each JVM termination.
Consider the volume of output that might be produced and directed
to CESE.
- Use the DFHASMVS procedure to compile the program.
Results
When you enable the JVMSERVER resource, CICS creates the Language Environment enclave by
using the runtime options that you specified in the DFHAXRO program. CICS checks the length of the runtime
options before it passes them to Language Environment. If the
length is greater than 255 bytes, CICS does
not attempt to start the JVM server and writes error messages to CSMT.
The values that you specify are not checked by CICS before they are passed to Language Environment.