Mic*_*vin 12 jsf dependency-injection glassfish java-ee ejb-3.0
我有一个无状态的EJB加入我的数据库.我需要在JSF 2转换器中使用此bean来从String值参数中检索实体对象.我正在使用JEE6和Glassfish V3.
@EJB 注释不起作用并获得NPE,因为它位于faces上下文中,并且它无法访问EJB上下文.
我的问题是:是否仍然可以使用@Resource其他注释或JNDI查找来注入此bean ,还是需要解决方法?
解
像这样执行JNDI查找:
try {
ic = new InitialContext();
myejb= (MyEJB) ic
.lookup("java:global/xxxx/MyEJB");
} catch (NamingException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我从未使用过JSF 2.0(仅1.0),但规范的第5.4章说:
[...]允许容器在对JSF应用程序进行访问之前,将对容器受管资源的引用注入到托管bean实例中.只有 声明在请求,会话或应用程序范围内的bean才能用于资源注入.
但到目前为止,据我所知,JNDI查找应该可以解决问题.
| 归档时间: |
|
| 查看次数: |
12949 次 |
| 最近记录: |