如何在EJB3中使用JNDI获取新的有状态会话Bean?

时间:2010-05-15 03:09:07

标签: java java-ee ejb-3.0 jndi stateful-session-bean

我正在尝试使用JNDI在servlet中获取新的有状态会话Bean(作为局部变量)。我的doGet()方法具有以下内容:

Bean bean = (Bean) new InitialContext().lookup("beanName");

我尝试过包含java:comp/env,但我的所有尝试都导致了命名异常。

我正在尝试使用@Stateful@Stateful(name="beanName")

等各种猜测来绑定@Stateful(mappedName="beanName")注释中的bean

1 个答案:

答案 0 :(得分:2)

我需要的是在类级别的servlet上使用@EJB注释,如下所示:

@EJB(name="beanName", beanInterface = Bean.class)

然后使用@EJB注释绑定的名称来查找服务方法:

Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");

除了普通的@Stateful注释之外,Bean类本身不需要任何内容​​。