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