サーブレットが取得するパラメーターに応じて、そこから EJB オブジェクトを動的に呼び出したいサーブレットがあります。
EJB オブジェクトとメソッドを呼び出す最良の方法は何ですか?
UPDATE : たとえば、取得したパラメーターは sessionBean の name であるため、(その名前で) それを呼び出してから、その内部でいくつかのメソッドを呼び出して、動的に作成します。
前もって感謝します。
サーブレットが取得するパラメーターに応じて、そこから EJB オブジェクトを動的に呼び出したいサーブレットがあります。
EJB オブジェクトとメソッドを呼び出す最良の方法は何ですか?
UPDATE : たとえば、取得したパラメーターは sessionBean の name であるため、(その名前で) それを呼び出してから、その内部でいくつかのメソッドを呼び出して、動的に作成します。
前もって感謝します。
これは、 JNDIルックアップを介して行うことができます。
InitialContext ic = new InitialContext();
MyEJB ejb = (MyEJB) ic.lookup("java:comp/env/MyEJB");
これにより、MyEJB のリモート インターフェイスが取得されます。サーブレット パラメータに基づいてルックアップ文字列が作成されるだけです。メソッドについての手がかりがない場合は、リフレクションを使用して調べる必要があります。
@EJB
一連のインジェクション全体を実行せずにこの結果を取得する最も簡単な方法は、ルックアップを使用することです。EJB1 のインスタンスが必要であることがわかったとします。ルックアップ コードは次のようになります。
private EJB1 ejb1 = null;
try {
InitialContext ic = new InitialContext();
ejb1 = (EJB1)
ic.lookup(ejb1.class.getName());
ejb1.method1();
} catch (Exception ex) {
logger.log(Level.SEVERE,"Couldn’t create converter bean.",ex);
}
InitialContext の作成とルックアップ呼び出しで使用される正確な構文については、サーバーの例を確認してください。