EJB3で、新しいステートフルセッションBeanを取得するためにJNDIを使用する方法?
-
27-09-2019 - |
質問
私は(ローカル変数など)サーブレットで新しいステートフル・セッションBeanを取得するためにJNDIを使用しようとしています。マイdoGet()
方法は、以下があります:
Bean bean = (Bean) new InitialContext().lookup("beanName");
私はjava:comp/env
含めて試してみたが、私の試みのすべてが例外に名前を付けるようになった。
私は@Stateful
と@Stateful(name="beanName")
のような様々な推測を使用して、@Stateful(mappedName="beanName")
注釈でBeanをバインドしようとしています。
解決
私は必要なもの
は、次のように、クラスレベルでサーブレットに@EJB
アノテーションを使用することでした。
@EJB(name="beanName", beanInterface = Bean.class)
次に検索サービスメソッドで@EJB
注釈に縛ら名を使用して発生する可能性があります
Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");
平野@Stateful
注釈以外のBeanクラス自体に何のための必要は、ありません。
所属していません StackOverflow