[英]Injecting a remote EJB in a managedBean
自從x時間以來,我一直不停地關注如何在JSF應用程序的托管bean中注入遠程EJB。 我創建了一個簡單的Java應用程序,並使用查找來注入遠程EJB,並且它起作用了。 但是當我進入Web應用程序時,我真的不知道該怎么做!
這是我的EJB代碼:
@Stateless
public class Hello implements HelloRemote {
@Override
public String sayHello(String name) {
return "Hello, "+name;
}
}
遠程接口是
@Remote
public interface HelloRemote {
public String sayHello(String name);
}
在我的Web應用程序中,我創建了我管理的bean:
@ManagedBean
public class MyBean {
@EJB
HelloRemote helloRemote;
}
但是它不起作用:(
如果要在本地公開EJB,則必須在Interface上使用@Local
。
如果要同時在本地和遠程公開,則必須創建2個接口,一個使用@Local
,另一個使用@Remote
。
如果您的JSF ManagedBean(MyBean)在本地運行,即與EJB在同一應用服務器上運行,則可以使用@EJB
直接將其注入。
如果您的JSF ManagedBean在其他服務器上運行,則必須使用JNDI注冊表來查找和訪問EJB。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.