例: IDIJAVA DD および IDIJAVA IDIOPTS の使用

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

BPXBATCH/BPXBATSL

IDIJAVA 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-…
/*
//IDIJAVA DD  PATHOPTS=ORDONLY,
// PATH='/u/hunter2/src'
//        DD PATHOPTS=ORDONLY,
// PATH='/opt/apis/coffee-src.jar'

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

IDIJAVA DD と JZOS バッチ・ランチャーを使用することは BPXBATSL の場合と同じです。JZOS バッチ・ランチャー・ジョブ・ステップで IDIJAVA 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)』を参照してください。

IDIJAVA 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.
//*
...
//IDIJAVA PATHOPTS=ORDONLY,
// PATH=&QQ.&SRCPART3/Version1/.QQ.

IDIJAVA オプションの使用

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