IBM SC34-6814-04 Server User Manual


 
You cannot call DFHJVMAT for a continuous JVM, that is, with a JVM profile that
specifies REUSE=YES (for example, the default CICS-supplied JVM profile,
DFHJVMPR). If you specify INVOKE_DFHJVMAT=YES for this type of JVM, then
INVOKE_DFHJVMAT=YES is ignored and DFHJVMAT is not called.
The values specified in the JVM profile are available to DFHJVMAT as z/OS UNIX
System Services environment variables, which you can modify before the JVM is
created.
Note: The values of the STDERR and STDOUT parameters, which can be
interpreted by CICS to generate task-specific names, are passed to
DFHJVMAT before interpretation.
DFHJVMAT uses the C/C++ getenv and setenv functions to change the
environment variables that correspond to the options in the JVM profile. For
example, you could use the following command to replace the
CLASSPATH_SUFFIX environment variable with the specified value:
setenv(ecp_suffix, cp_suffix_val,1)
where:
char *ecp_suffix = "CLASSPATH_SUFFIX";
char *cp_suffix_val ="/u/jtest1/Java/test:.";
Note that the setenv function has no effect on the CICS PROGRAM resource
definition and remains in effect only for the lifetime of the JVM.
The CICS-supplied DFHJVMAT:
v Issues getenv requests for each variable.
v Issues a printf to destination stdout, to record the setting of each variable.
v Contains (within comments) some sample code that demonstrates how to use
the setenv command—including how to append TASKnnnn (where 'nnnn' is the
CICS task number) to the supplied names for stdout and stderr. This shows
how to make unique output and error files for each CICS task.
If you write your own program to tailor options in the JVM profile based on the
supplied version, the name must be DFHJVMAT, and the program must be written
in C. You can use EXEC CICS commands within DFHJVMAT but you should be
aware that this might incur a processing overhead. Note that DFHJVMAT must be
written to threadsafe standards and defined with CONCURRENCY(THREADSAFE)
in its program resource definition, because multiple invocations of this module might
run in parallel.
Options in the JVM profile that are available to DFHJVMAT
The JVM profile options listed in this topic are made available to DFHJVMAT. The
options are read from the specified JVM profile and created as environment
variables using Language Environment services.
In most cases, the full descriptions of these options are in the CICS System
Definition Guide. Before modifying any of these options using DFHJVMAT, you
should read the full description of the option. Some of the options are no longer
documented in the CICS documentation, and information about these can be found
in the documentation for the IBM SDK for z/OS, Java 2 Technology Edition and
other Java documentation.
Note:
672 Customization Guide