2.13.2 EJBのリモートインタフェースの値の参照渡し
通常,リモートインタフェースを持つEJBメソッドを呼び出すとき,引数や戻り値をコピーして値を渡しますが(pass by value),引数や戻り値を参照で返すこともできます(pass by reference)。値を参照で渡す場合は,値をコピーして渡す場合より,負荷の軽減が図れます。
ただし,値を参照で渡す場合は,引数や戻り値を直接参照するため,引数および戻り値の変更や,参照渡しをするクライアントとアプリケーションの配置には注意が必要です。
java.io.Serializableインタフェースを実装したオブジェクトを,メソッドの引数や戻り値に定義している場合,EJBのリモートインタフェースの値の参照渡しを適用することで,負荷の軽減を期待できます。オブジェクトの数やサイズが大きければより効果を期待できます。
設定方法には次の二つがあります。どちらか一つの方法で設定していれば,値の参照渡しが有効になります。
-
EJB単位で設定する方法
EJB単位で機能の有効/無効を,Session BeanまたはEntity Beanの属性として定義します。
-
J2EEサーバ単位で設定する方法
J2EEサーバ単位で機能の有効/無効を,J2EEサーバのプロパティとして,一括して定義します。