如果EJB在WAR中,则不会调用JSF-Bean PostConstruct

时间:2019-06-23 23:46:05

标签: ejb wildfly jsf-2.2

我有点卡住了。我试图在基于文章https://zenidas.wordpress.com/recipes/database-resource-bundle-in-a-jsf-application/

的JSF-2.2 / Widlfy-10 / wildfly 17 /环境中实现基于EJB的DatabaseResourceBundle。

在添加EJB之前,我的JSF项目运行完美: -我的ApplicationScoped Bean(eager = true)(appBean)正确构造,包括@PostConstruct

之后: -我的EJB现在工作正常,因为它可以从数据库中获取我的ResourceBundle /消息

但现在: ->我的appBean @PostConstruct将永远不会被调用。因此我的appBean未正确初始化,并在服务器中产生了进一步的错误(NullPointerExceptions)

我认为这是我的错,但是在哪里?

@Stateless
public class ResourceBundleServiceBean implements ResourceBundleServiceBeanLocal{

  @PersistenceContext(unitName = "myDS") 
  EntityManager em;
  ....
}

@ManagedBean(name="appBean",eager=true)
@ApplicationScoped
public class AppBean {
  @PersistenceContext(unitName = "myDS") 
  EntityManager em;

  public AppBean() {
    System.out.println("AppBean constructed");
  }

  @PostConstruct
  public void Init(){
    System.out.println("AppBean constructed2");
  }
}

我还尝试在ResourceBundleServiceBean中注入EntityManager em 由AppBean中的@Inject和@Produces提供,但这不起作用。

0 个答案:

没有答案