我有一個JBoss EAP 6.1實例,其中部署了2個EJB應用程序。 服務器啓動時沒有錯誤!EJB查找起作用,但方法調用不起作用
現在我創建了一個javaSE應用程序來調用這些EJB。
而現在的問題是...
如果我讓EJB的查找從applicationA/EJBBean!br.com.sample.EJBRemote
它工作正常,我可以調用任何方法形成的。
但是,我從applicationB/EJBBean!br.com.sample.EJBRemote
查找EJB它工作正常。但是,當我調用一個方法時,javaSE應用程序停止。我沒有錯誤,沒有輸出。 我在方法實現的第一行放置了一個斷點,我看到它沒有執行。
我查找代碼如下:
public static <T> T getEJB(final String moduleName, final String beanName, final Class<T> viewClass) throws NamingException {
final String lookupName = aplicationName + "/" + beanName + "!" + viewClass.getName();
return (T) ic.lookup(lookupName);
}
我稱之爲從主要方法:
final MyRemote beanA = EJBUtils.getEJB("appA", "MyBean", MyRemote.class);
final MyRemote beanB = EJBUtils.getEJB("appB", "MyBean", MyRemote.class);
他們都工作得很好
但是當我做:
beanA.methodA(); // This works and prints "methodA" onto console.
beanB.methodA(); // This doesn't work. And dont print any thing onto console.
System.out.println("...") // This line doesn't execute
嗨。我檢查了你的情況,兩種方法在我的機器上調用都很好。你可以發佈客戶端的代碼以及你正在使用的InitialContext參數嗎?你是否將appA作爲appA.jar和appB包裝爲appB.jar(包括兩個ejb jar)? – zbig