2009-06-23 11 views
0

のJava EE仕様との関係は、このようなEJB注入があると述べています。 java:comp/env/<FQN>.MyInterface/myBean。このコンテキストエントリを実際の値にバインドし、この値をmyBeanフィールドに挿入するのはデプロイヤーの責任です。@EJBインジェクションおよびエンタープライズ名前付けコンテキスト2

今、私はここで何かをしないのです感を持っている:

なぜコンテキストエントリが必要なのか?要求されたEJBのインスタンスが挿入されるので、なぜコンテキスト内のエントリが必要ですか?コンテキストエントリを介して注入が行われなければならない理由は何ですか?

答えて

1

受信したすべての回答では問題は解決されませんでした。注射の注釈が注射を解決するのに十分な情報を提供する場合、なぜENCエントリが必要なのですか?

答えは、注入がデプロイメント記述子でオーバーライドできることです。これは、EJB標準で開発者の役割が定義されているためです。

「Beanプロバイダ」が注入を要求でき、デフォルト値を提供することもできると想定しています。しかし、 "アプリケーションアセンブラ"はこれらの値を無効にできます。 「Beanプロバイダ」はアノテーションまたはXMLを使用すると想定され、「アセンブラ」は主にXMLを使用すると想定されます。

これは、EJB標準がENCと注入の間のこの関係を定義する理由です。

0

ステートフルセッションBeanを注入する必要がある場合は、EJBインスタンスと以前に挿入されたEJB依存関係(そのインスタンスへの関係)を知るコンテキストが必要になると思います。

0

何とか取得した文字列で検索できるようにすることです。

関連する問題