0

JDeveloper 11g を使用しています。ADF フュージョンを利用する Model と ViewController プロジェクトの両方。

私の web-xml には、ステートフル セッション EJB の EJB 参照があります。faces-config で宣言されているマネージド Bean があります。

マネージド Bean 内から EJB にアクセスしようとしています。

私は宣言する

@EJB (name ="LocationServicesEJB")
private LocationServicesEJB locationServices;

メソッドでこれにアクセスする場合、locationServices は null です。コンソールに JNDI タイプの問題は見られないので、ルックアップすることさえ気にならないと思います。

インジェクションなどを有効にする必要がありますか?または、faces-config で「locationServices」を管理プロパティとして定義する必要がありますか?

お知らせ下さい。ありがとう

4

1 に答える 1

1

2 つの異なるタイプの注射を混同しています。

  1. それぞれのアノテーションによって EJB 間で発生する EJB インジェクションがあります。このタイプは、EJB コンテナー (アプリケーション サーバーまたは OpenEJB など) によって処理されます。

  2. 次に、通常の Java Bean 間で発生し、faces-config で定義される「通常の」インジェクション (ala Spring) があります。この型は JSF によって処理されます。

だからあなたがしたいことを決めてください。

私の提案は、公式の Java EE チュートリアルをダウンロードして、すべてのトピックをざっと読むことです。

于 2009-08-14T13:40:09.240 に答える