Installing the JZOS batch launcher

If you install IBM® Semeru Runtime Certified Edition for z/OS® by using SMP/E, JZOS is installed for you. If you install the product from a PAX file, you must follow these instructions to be able to use the JZOS batch launcher.

Before you begin

These instructions assume that you uploaded and extracted the PAX file according to the Java™ SDK product installation instructions. For more information, see Installing the SDK.

Note: If you do not follow these instructions, you cannot use the JZOS batch launcher function. However, you can use all other JVM functions, including the JZOS system services and file I/O functions.

About this task

The launcher consists of the following files:
  • JVMLDM16, a load module that you add to a z/OS PDSE data set.
  • JVMPRC16, a customizable sample PROC file that you add to an appropriate procedure library (PROCLIB).
  • JVMJCL16, a customizable sample JCL file that you add to an appropriate sample library (SAMPLIB).

Procedure

  1. Allocate MVS PDSE or PDS data sets as required. As an example, a default SMP/E installation places the load module in the SYS1.SIEALNKE data set, the sample PROC file in the SYS1.PROCLIB library and the sample JCL file in the SYS1.SAMPLIB library. (For installation into private data sets, suggested allocation sizes are F/FB,80 5 tracks for SAMPJCL and for SAMPPROC.)
  2. Copy the load module to a PDSE data set. Copy the PROC and JCL files to a PDS data set. The load module is in the <JAVA_HOME>/mvstools directory. The sample JCL and PROC files are in the <JAVA_HOME>/mvstools/jcl directory.
    For example, by using the default target libraries, issue the following commands under a z/OS UNIX System Services shell:
    cp jcl/JVMJCL16 "//’SYS1.SAMPLIB(JVMJCL16)’"
    cp jcl/JVMPRC16 "//’SYS1.PROCLIB(JVMPRC16)’"
    cp -X JVMLDM16 "//’SYS1.SIEALNKE(JVMLDM16)’"
  3. Compile the HelloWorld.java program included in the JZOS samples. Then, place the compiler-generated HelloWorld.class class file in an accessible location in your z/OS UNIX System Services file system.
  4. Customize the sample JCL and PROC files for your environment.
    • Update the JCL file with JOB card information.
    • Update the JCL and PROC files with high-level qualifiers where the PROC and LOADLIB exist.
    • Update the CLASSPATH variable in the JCL file to include the directory, in your z/OS UNIX System Services file system, containing the compiled HelloWorld.class file from step 3.
    • Update the value of the JAVA_HOME environment variable in the PROC file.
    • Ensure that your sample JCL or PROC file includes a STEPLIB statement to point to the load module, unless the load module is included in your LNKLST member.
  5. Run the modified JCL script by using the SUBMIT command, then check the job log. For a correct set up, the SYSOUT DD output should contain information like this:
    JVMJZBL1001N JZOS batch Launcher Version: 3.1.1 2021-07-29
    JVMJZBL1002N (C) Copyright IBM Corp. 2005, 2021
    java version "11.0.12-internal"
    OpenJDK Runtime Environment (build 11.0.12-internal+0adhoc.JENKINS.BuildJDK11s390xzosPersonal)
    IBM J9 VM (build ibm_sdk-7395e111350, JRE 11 z/OS s390x-64-Bit
    Compressed References 20210906_917 (JIT enabled, AOT enabled)
    OpenJ9   - 7395e111350
    OMR      - 338f21576ad
    IBM      - 2f2c48b
    JCL      - e36b50258e2 based on jdk-11.0.12+7) 
    JVMJZBL1023N Invoking com.ibm.jzos.sample.HelloWorld.main()... 
    JVMJZBL1024N com.ibm.jzos.sample.HelloWorld.main() completed. 
    JVMJZBL1021N JZOS batch launcher completed, return code=0 Hello World
    To diagnose problems with the JZOS batch launcher, change the LOGLVL parameter to +I:
    // EXEC JVMLDM16,LOGLVL=’+I’,
    Note: Setting this logging level dumps the environment that is passed to the Java VM. The trace level setting +T produces many messages, some of which can be helpful in tracking down installation problems.