繁体   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