簡體   English   中英

Java從servlet調用EJB

[英]Java invoke EJB from servlet

我有一個servlet,我想根據servlet獲取的參數動態調用它的EJB對象。

調用EJB對象和方法的最佳方法是什么?

更新 :例如,我得到的參數是sessionBean的名稱,所以我想調用它(通過它的名字),然后調用它內部的一些方法,因此它將動態創建。

提前致謝。

您可以通過JNDI查找來完成此操作。

InitialContext ic = new InitialContext();
MyEJB ejb = (MyEJB) ic.lookup("java:comp/env/MyEJB");

這將檢索MyEJB的遠程接口,只需根據servlet參數創建查找字符串。 如果您對方法一無所知,則應使用反射來查找。

在沒有一系列@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和查找調用時使用的確切語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM