相关疑难解决方法(0)

如何在@FacesConverter中注入@ EJB,@ PersistenceContext,@ Inject,@ Autowired等?

我怎么可以注入的依赖一样@EJB,@PersistenceContext,@Inject,@AutoWired,等的@FacesConverter?在我的具体情况下,我需要通过@EJB以下方式注入EJB :

@FacesConverter
public class MyConverter implements Converter {

  @EJB
  protected MyService myService;    

  @Override
  public Object getAsObject(FacesContext context, UIComponent component, String value) {
    // myService.doSomething
  }

}
Run Code Online (Sandbox Code Playgroud)

然而,它没有被注射并且仍然存在null,导致NPE.看来,@PersistenceContext@Inject也不起作用.

如何在转换器中注入服务依赖项以便我可以访问数据库?

jsf dependency-injection ejb converter

28
推荐指数
1
解决办法
1万
查看次数

使用JEE6将EJB注入JSF转换器

我有一个无状态的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 dependency-injection glassfish java-ee ejb-3.0

12
推荐指数
1
解决办法
1万
查看次数