リンケージ・オプション・パーツの callLink エレメントのプロパティー
type は、呼び出しの種類を指定します。次の値から 1 つを選択します。
- ejbCall
- 生成された Java™ プログラムまたはラッパーが、EJB セッション Bean を使用するプログラム呼び出しを実装すること、および EJB セッション Bean がプロパティー pgmName で示されたプログラムにアクセスすることを示しています。
値 ejbCall は、以下の 2 つのいずれかの場合に適用できます。
- Java ラッパーを生成しており、ラッパーはそのプログラムを EJB セッション Bean を介して呼び出す。
この場合、プロパティー pgmName はラッパーから呼び出されるプログラムを参照し、ejbCall の使用により EJB セッション Bean が生成されます。
- EJB セッション Bean を介して、生成されたプログラムを呼び出す Java プログラムを生成している。
この場合、プロパティー pgmName は呼び出し先プログラムを参照し、EJB セッション Bean は生成されません。
いずれのケースでも、EJB セッション Bean を使用する場合、EJB セッション Bean を生成するためにも Java ラッパーを生成する必要があります。
生成された セッション Bean はエンタープライズ Java サーバーにデプロイする必要があり、次のどちらかが該当しなければなりません。
- EJB セッション Bean を配置するために使用されるネーム・サーバーが、その セッション Bean を呼び出すコードと同じマシン上に存在する。
- プロパティー providerURL が、ネーム・サーバーの存在する場所を示している。
EJB セッション Bean を使用する場合、リンケージ・オプション・パーツを指定して、呼び出し側プログラムまたはラッパーを生成する必要があります。この場合、呼び出し先プログラム用のプロパティー type の値は ejbCall です。
セッション Bean の使用の決定をデプロイメント時に行うことはできません。ただし、プロパティー remoteBind を RUNTIME と設定した場合、EJB セッション Bean が生成されたプログラムにアクセスする方法 についてはデプロイメント時に決定できます。しかし、この決定は生成時に行う方が、効率的です。
- localCall
- 呼び出しで EGL ミドルウェアを使用しない ことを指定します。この場合、呼び出し先プログラムは、呼び出し側と同一プロセス内になります。
localCall はデフォルト値であり、
- remoteCall
- 呼び出しが EGL ミドルウェアを使用することを指定します。これにより、渡されるデータの終わりに 12 バイトが付加されます。これらのバイトによって、呼び出し側は、呼び出し先プログラムからの戻り値を受け取ることができます。
呼び出し側が Java コードの場合、通信は、プロパティー remoteComType で指定されたプロトコルによって処理されます。プロトコルの選択は、呼び出し先プログラムが同一スレッド内にあるか、異なるスレッド内にあるかを示しています。
呼び出しで可変長レコードのある固定レコードが渡される場合は、次のことが適用されます。
- レコードに対して指定された最大長のスペースが予約されます。
- callLink プロパティー type の値が remoteCall または ejbCall の場合、可変長項目が存在する場合は、それがレコード内部にある必要があります。