该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
(a) Javaソースプログラムの作成
COBOLプログラムを呼び出すJavaプログラムでは,次の三つのJavaソースファイルを作成する必要があります。
mainメソッドを含むJavaプログラム(Javaクラス)
COBOLプログラムに対応するJavaプログラム(Javaクラス)
COBOLプログラムの初期化・终了処理を行うCプログラムに対応するJavaプログラム(Javaクラス)
mainメソッドを含むJavaプログラム(Javaクラス)
Javaアプリケーションは,「static」属性と「public」属性を持つ「main」という名前のメソッドから実行が开始されます。そのため,この「main」メソッドを含むJavaプログラム(Javaクラス)が必要です。
COBOLプログラムの呼び出し,及び利用者サービスルーチンの呼び出しを含む「main」メソッドを含むクラス「DLLtest」を记述したJavaソースファイル「DLLtest.java」の例を次に示します。
Javaソースファイルの例(DLLtest.java)
public class DLLtest
public static void main (String args[])
{
// 利用者サービスルーチンを呼び出す
// Cプログラムに対応するクラスのインスタンスを生成
DLLcbl85rt aDLLcbl85rt = new DLLcbl85rt ();
// 呼び出すCOBOLプログラムに対応する
// クラスのインスタンスを生成
DLLclass aDLLclass = new DLLclass ();
// COBOLプログラムの実行环境初期化処理を行う
// サービスルーチンを呼び出す
aDLLcbl85rt.cblgint ();
// COBOLプログラムの呼び出し
int result = aDLLclass.DLLcobol (10, 20);
// COBOLプログラムの実行环境终了処理を行う
// サービスルーチンを呼び出す
aDLLcbl85rt.cblend ();
// Javaプログラムの终了
System.exit (0);
}
COBOLプログラムに対応するJavaプログラム(Javaクラス)
Javaプログラムから他言语プログラムを呼び出す场合には,他言语プログラムに対応するJavaプログラム(Javaクラス)を作成しなければなりません。そのため,呼び出されるCOBOLプログラムに対応するJavaプログラム(Javaクラス)が必要です。
Javaプログラムから呼び出す,他言语プログラムに対応するJavaプログラム(Javaクラス)には,呼び出す他言语プログラムに対応する「native」属性を持つJavaメソッドを定义します。また,他言语プログラムを含むDLLをロードするstatic命令も含んでいる必要があります。
COBOLプログラムに対応するJavaプログラム(Javaクラス)の例と,この例で仮定している名称を次に示します。
Javaソースファイル(DLLclass.java)
class DLLclass {
// 呼び出されるCOBOLプログラムに対応する
// メソッドプロトタイプを定义する
public native int DLLcobol (int arg1, int arg2);
// 呼び出されるCOBOLプログラムを含むDLLをロードする
static {
System.loadLibrary ("DLLfunc");
}
名称 意味
DLLcobol 呼び出されるCOBOLプログラムに対応するJavaメソッドのメソッド名
DLLfunc.dll 呼び出されるCOBOLプログラムを含むDLLのファイル名
DLLclass 呼び出されるCOBOLプログラムに対応するJavaメソッドを含むJavaプログラム(Javaクラス)のクラス名
DLLclass.java DLLclassを记述したソースファイルのファイル名
注意事项
他言语プログラムに対応するJavaメソッドの宣言には,「native」を指定します。「native」指定は,Java言语以外の言语で実装されたメソッドであることを表します。なお,メソッドの本体は记述しません。
「native」が指定されたJavaメソッドに対応する他言语プログラムのプログラム名は,Javaメソッド名を変换した名前でなければなりません。详细は,「10.8.2(2) COBOL言语侧の作业」を参照してください。
「loadLibrary」メソッドの引数には,呼び出す他言语プログラムを含むDLLのファイル名(拡张子は除く)を指定します。
COBOLプログラムの初期化・终了処理を行うCプログラムに対応するJavaプログラム(Javaクラス)
COBOLプログラムに対応するJavaプログラム(Javaクラス)と同様に,COBOLプログラムの初期化・终了処理を実行する利用者サービスルーチン(CBLGINT/CBLEND)を呼び出すCプログラムに対応するJavaプログラム(Javaクラス)が必要です。
Cプログラムに対応するJavaプログラム(Javaクラス)の例と,この例で仮定している名称を次に示します。
Javaソースファイルの例(DLLcbl85rt.java)
class DLLcbl85rt {
public native int cblgint ();
public native int cblend ();
static {
System.loadLibrary ("DLLcbl85rt");
}
名称 意味
DLLcbl85rt 呼び出すCプログラムを含むDLLのファイル名
DLLcbl85rt 「native」指定を持つJavaメソッドとDLLをロードする処理を含むJavaクラスのクラス名
DLLcbl85rt.java Javaクラス「DLLcbl85rt」を定义したJavaソースファイルのファイル�