例: HFZJAVA DD および HFZJAVA HFZOPTS の使用

このトピックでは、さまざまなシナリオで、HFZJAVA DD および HFZJAVA HFZOPTS を使用して Java アプリケーション・ソース情報を Z Abend Investigator に提供する方法を示します。

BPXBATCH/BPXBATSL

HFZJAVA DD と BPXBATCH を使用するには、代替エントリー・ポイント BPXBATSL を使用する必要があります。これが DD データ・セットおよびパス・アプリケーションへの spawn されたプログラム・アクセスを許可するからです。
//RUNJAVA EXEC PGM=BPXBATSL,REGION=500M
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//STDPARM DD *
PGM /bin/sh java AnApp arg1 arg2
/*
//STDENV DD *
 CLASSPATH=<the application classpath>
 JAVA_HOME=<path to java> 
 LIBPATH=<paths to application DLLs>
 PATH=${PATH}:${JAVA_HOME}/bin
 IBM_JAVA_OPTIONS=-Xmx400m 
 JAVA_TOOL_OPTIONS=-agentlib-…
/*
//HFZJAVA DD  PATHOPTS=ORDONLY,
// PATH='/u/hunter2/src'
//        DD PATHOPTS=ORDONLY,
// PATH='/opt/apis/coffee-src.jar'

IBM® JZOS バッチ・ランチャー

HFZJAVA DD と JZOS バッチ・ランチャーを使用することは BPXBATSL の場合と同じです。JZOS バッチ・ランチャー・ジョブ・ステップで HFZJAVA DD を指定してください。
cd <JAVA_HOME>/mvstools
cp samples/jcl/JVMJCL80 "//’SYS1.SAMPLIB(JVMJCL80)’"
cp samples/jcl/JVMPRC80 "//’SYS1.PROCLIB(JVMPRC80)’"
cp -X JVMLDM80 "//’SYS1.SIEALNKE(JVMLDM80)’"

バッチ・ランチャーは Java の非 SMP/E インストールの Java に含まれています。詳細は、IBM® SDK, Java™ Technology Edition のドキュメントの『Java Batch Launcher and Toolkit for z/OS (JZOS)』を参照してください。

HFZJAVA DD での長いパス値の指定

JCL で 72 文字よりも長いパスを指定するには、JCL 記号を使用してパスを表すためのオプションがあります。例:
//* Define each part of the path as a symbol: // SET QQ='''' * This sets symbol &QQ. to a single quote // SET SRCPART1='/u/hunter2/org/very/large/financial/' // SET SRCPART2='organisation/JavaSourceFiles/prod' // SET SRCPART3=&QQ.&SRCPART1.&SRCPART2&QQ. //* ... //HFZJAVA PATHOPTS=ORDONLY, // PATH=&QQ.&SRCPART3/Version1/.QQ.

HFZJAVA オプションの使用

HFZJAVA オプションは parmlib メンバー HFZCNFxx にシステム全体で指定することができます。または HFZOPTS DD を使用して特定のジョブ・ステップで指定することができます。
//HFZOPTS DD *
 Datasets(
   HFZJAVA(
         -dropcp-
           /u/hunter2/srcFiles 
          /u/hunter2/deps/dep2-src.jar
      )
   )
/*
各パス (ここでは xxxxx… で示します) はスペースで区切る必要があります。長いパスは、パスの各パートの間に「+」を指定することで、行をまたいで続けることができます。パスの長さは最高 1023 文字まで指定できます。
//GO.HFZOPTS  DD DATA,DLM='##',SYMBOLS=JCLONLY                                                
  datasets(hfzjava(                                  
                   /01xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +            
                   /02xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /03xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /04xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /05xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /06xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /07xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /08xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /09xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +           
                   /10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx))