Financial Transaction Manager for SWIFT Services for z/OS (FTM) integrates, orchestrates,
and monitors financial transactions. It uses IBM Integration Bus (IIB) and runs several JVM
processes within an IIB address space. Some of these JVMs are 64-bit and some of them are 31-bit.
For example, the SWIFTNET FIN Daemon (SFD) runs in a 31-bit JVM. Sessions with FTM are assigned a
Logical Terminal (LT). Each LT uses two JVM processes.
Procedure
- FTM uses environment variables to configure the JVM processes. Modify the BIPBPROF
member of the IIB PDSE member and generate the environment files with BIPGEN.
These environment variables are specified in the BIPBPROF member of the IIB PDSE, which has a
name of the form:
hlq.brokername.CNTL(BIPBPROF)
Because the configuration needs to support two different JVM modes in the same address space, the
IBM®
OMEGAMON® for JVM JVMTI agent is started with the
-agentlib option. The
LIBPATH environment variable is set
to a directory name containing a symlink to the correct mode agent. FTM provides a different
environment variable to set the library path for the 31-bit JVMs.
Tip: All options in
DNICQ_IBM_JAVA_OPTIONS must be separated by a vertical bar character | not spaces.
- In the BIPBPROF member, append the following to the LIBPATH statement:
:/rtehome/kan/bin/IBM/om64
The BIPBPROF member should contain the following lines at the bottom of the
file:
DNI_PATH=inst_dir
DNI_JAVA_PATH=java_path
DNI_PRF=$DNI_PATH/run/res
export DNI_PROFILEPATH=$DNI_PRF
SFD_LP=$DNI_JAVA_PATH/bin/j9vm
SFD_LP=$SFD_LP:$DNI_JAVA_PATH/lib/s390
SFD_LP=$SFD_LP:$DNI_JAVA_PATH/lib/s390/classic
SFD_LP=$SFD_LP:$DNI_PATH/run/lib
export DNF_SFD_LIBPATH=$SFD_LP
JOP=-Dibm.jvm.bootclasspath=$DNI_PATH/run/classes/dnicsl.boots.jar
JOP=$JOP:$DNI_PATH/run/classes/dnicsl.impl.jar
export IBM_JAVA_OPTIONS="$JOP"
DNI_RUNOPTS='XPLINK(ON),THREADSTACK64(ON,4M,1M,)'
export _CEE_RUNOPTS=$DNI_RUNOPTS
- Add a line to the BIPBPROF member before the export of
IBM_JAVA_OPTIONS:
JOP=$JOP -javagent:/rtehome/FTM1/kan/bin/IBM/kjj.jar
-agentlib:kjjagent
- Add the following line to the BIPBPROF member before the export of
IBM_JAVA_OPTIONS:
SFD_LP=$SFD_LP:/rtehome/kan/bin/IBM/om31
- Add the following lines to the BIPBPROF member before the export of
IBM_JAVA_OPTIONS:
CQJO=-javagent:/rtehome/kan/bin/IBM/kjj.jar|-agentlib:kjjagent
export DNICQ_IBM_JAVA_OPTIONS=$CQJO
- where rtehome is the ITM runtime time
environment (RTE) USS directory name.
- (Optional but recommended) Increase the heap in the 31-bit JVM parameter
DNICQ_HEAP_MEM=8m to 24m.
- Create two new sub-directories in the ITM RTE directory:
- Create an om31 directory and an om64
directory in the USS RTE for OMEGAMON in /rtehome/kan/bin/IBM.
- Ensure that these directories are readable by the FTM address space
user.
- Change the om31 directory and create a symlink named libkjjagent.so to the 31-bit
JVMTI library in the directory above.
For example:
cd
/rtehome/kan/bin/IBM/om31
ln -s ../libkjjagent.so
libkjjagent.so
- Change directory to the om64 directory and create a symlink named libkjjagent.so to the
64-bit JVMTI library in the directory above. For example:
cd /rtehome/kan/bin/IBM/om64
ln -s ../libkjjagent_64.so libkjjagent.so
- Stop and restart the FTM broker for these changes to take effect.