2016-07-15 16 views
2

EJB 3仕様またはWeblogicベンダー固有のものが、ローカルであるステートレスEJBをルックアップで呼び出す際のパフォーマンス/オーバーヘッドコストに関する情報を提供しているかどうかを知りたいコンテキスト(EJBを呼び出すクラスと同じサーバーと同じ耳の中)で宣言されていますが、その宣言には注釈が付いています。 件名に関するウェブ上で多くの検索を行いましたが、完全な回答は見つかりませんでした。ステートレスEJBの呼び出し3リモートのローカルコンテキストでの呼び出し

EJBがローカル宣言されている場合と同じ呼び出し処理ですか? したがって、高価ではありません。 または、呼び出し処理はEJBリモート呼び出しのどちらですか?だから、より高価です。

この質問についての参考情報がある場合は、それが素晴らしいでしょう。

+0

WebLogic Serverはこの状況を検出し、その動作を変更してパフォーマンスを向上させることができます。 –

+0

Weblogicのドキュメントリファレンスがありますか? – davidxxx

答えて

1

ローカル最適化を有効にするのは、Weblogic固有の設定です。参照:

enable-call-by-referenceがTrueで

  • https://docs.oracle.com/cd/E13222_01/wls/docs103/ejb/DDreference-ejb-jar.html#wp1113807
    • は、 内から呼び出されたEJBメソッドは、同じEARファイルまたはスタンドアロンJARファイルが 参照によって引数を渡します。これにより、 パラメータがコピーされないため、メソッド呼び出しのパフォーマンスが向上します。あなたがもしそうなら守備のコピーを作成するように注意してください、もはやリモートインタフェースのパラメータは、実際に元の引数のクローンであることを保証することができますが、実際には元のオブジェクト可能性があるので参照して通話を有効にする

    は、not strictly EJB Spec-compliantではありません必要。

    +1

    この正確な答えをありがとう。 – davidxxx

    関連する問題