0

myproject-webとmyproject-ejbを含むJavaEEアプリケーションに異なるモジュールがある場合でも; WebモジュールにあるマネージドBeanからejbモジュールにある私のejbセッションBeanを呼び出す(または注入する)ことは可能ですか?私が前に尋ねたとき、私は次の宣言を見ます:

@EJB private BeanInterface yourbean

ただし、異なるコンテキスト間で相互に呼び出すことが可能かどうかを知りたいのですが(1つはejbコンテキストで、もう1つはマネージドBeanはWebコンテキストで)?

どんな助けでもいただければ幸いです。

4

3 に答える 3

1

クラスにを注入することはできますが@EJB@ManagedBeanその逆はできません。EJBクラスで目的のビジネスロジックを実行する場合は、マネージドBeanインスタンスをメソッド引数として自分で渡す必要があります。

@Stateless
public class EJB {
    public void process(ManagedBean bean) {
        // Business logic.
    }
}

@ManagedBean
public class ManagedBean {
    @EJB private EJB ejb;

    public void submit() {
        ejb.process(this);
    }
}
于 2010-05-03T15:30:46.117 に答える
0

どうしてもこれが本当に必要な場合は、独自のプロパティリゾルバーを作成して、自分で注入することを試みることができると思います(私は試しませんでした)。

于 2010-08-24T08:24:10.117 に答える
-1

私は今までにあなた自身のリゾルバを書かなければ不可能であることがわかりました..ありがとう

于 2010-05-27T07:50:05.917 に答える