例 2:COBOL からの Java プロパティ ファイルの直接指定

この例では、JVM COBOL ランタイム システムが mfjarprogmap ユーティリティを使用して作成された Java プロパティ ファイルを使用して、どのようにパッケージの一部としてコンパイルされたプログラムを呼び出すかを示します。Java プロパティ ファイルに格納されている .jar ファイルを COBOL から直接どのように呼び出せるかを示します。

注: 次の例は、nEnterprise Developer コマンド プロンプトから実行するように設計されています。
  1. 次のコードをコピーして新規ファイルに貼り付け、myapp.cbl という名前で保存します。
            program-id myapp.
            procedure division.
            display "Hello world from myapp".
            goback.
            end program myapp.
  2. 上記のプログラムを呼び出すトリガー プログラムを作成します。次のコードをコピーして新規ファイルに貼り付け、caller.cbl という名前で保存します。
            program-id caller.
            01 p procedure-pointer.
            01 runner pic x(10).
            procedure division.
            set p to entry "myapp.jar".
            move "myapp" to runner.
            call runner.
            goback.
            end program caller.
  3. ソースのコンパイルが行われ、Java プロパティが作成されるサブディレクトリを作成します。
    mkdir bin
  4. ソースをコンパイルしてプログラムをトリガーします。

    Windows:

    cobol caller.cbl jvmgen;
    cobol myapp.cbl jvmgen(sub) iloutput(bin) ilnamespace(com.mycompany.desktopapp);

    UNIX:

    cob -j caller.cbl
    cob myapp.cbl -C 'jvmgen(sub)' -C 'iloutput(bin)' 
                  -C 'ilnamespace(com.mycompany.desktopapp)'
    カレント ディレクトリに caller.class ファイルが作成され、myapp.class ファイルが bin\com\mycompany\desktopapp (Windows)、bin/com/mycompany/desktopapp (UNIX) ディレクトリに作成されます。
  5. bin ディレクトリのコンテンツが格納される .jar ファイルを作成します。
    jar cvf myapp.jar -C bin/ .
    カレント ディレクトリに myapp.jar が作成されます。
  6. Java プロパティ ファイルを作成し、プロセスにおいて .jar ファイルに追加します。
    mfjarprogmap -verbose -jar myapp.jar

    mfcobolprogmap.properties ファイルが作成され、myapp.jar に追加されます。

  7. トリガー アプリケーションを実行します。
    java caller
    caller.class ファイルが実行されて myapp.jar が呼び出され、さらに .jar ファイルに Java プロパティ ファイルが含まれていることから、ランタイム システムではそれを使用して、パッケージ化された場所にある呼び出し先のプログラムを見つけます。結果として Hello world from myapp メッセージが表示されます。