2.13.1 EJBのリモートインタフェースでのローカル呼び出しの最適化
ここでは,EJBのリモートインタフェースでのローカル呼び出しの最適化について説明します。
EJBのリモートインタフェースに定義されるメソッドの呼び出しは,RMI-IIOPで行われますが,この呼び出しについてローカル呼び出し最適化を適用できます。
なお,EJBのローカルインタフェースに定義されるメソッドの呼び出しについては,RMI-IIOPを利用しない,通常のJavaのメソッド呼び出しとなるため,この機能は適用外となります。
リモートインタフェースでのローカル呼び出しの最適化では,ローカル呼び出しを最適化する範囲を選択できます。最適化する範囲は,J2EEサーバのプロパティをカスタマイズして設定します。J2EEサーバの動作設定のカスタマイズについては,「2.13.5 実行環境での設定」を参照してください。
次に,ローカル呼び出し最適化機能の範囲および動作と,J2EEサーバのプロパティ(usrconf.properties)のキーの指定値の対応を次の表に示します。
項目 |
ejbserver.rmi.localinvocation.scopeキー※の値 |
||
---|---|---|---|
all |
app |
none |
|
ローカル呼び出し最適化の範囲 |
同一J2EEサーバ内となります。 |
同一アプリケーション内となります。 |
範囲はありません。 |
スレッド構成 |
CallerとCalleeは常に同一スレッドとなります。 |
同一アプリケーション内でだけCallerとCalleeは同一スレッドとなります。 |
CallerとCalleeは常に別スレッドとなります。 |
クラスローダ構成 |
EJBはコンテナクラスローダ(J2EEサーバ単位)でロードされます。 |
EJBはアプリケーションクラスローダ(アプリケーション単位)でロードされます。 |
|
ローカルトランザクション |
J2EEサーバ内で利用できます。 |
同一アプリケーション内で利用できます。 |
同一J2EEコンポーネント内で利用できます。 |