簡體   English   中英

在managedBean中注入遠程EJB

[英]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.

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