CDI引导后是否有一种简单的方法来执行代码?
实际上我有一个@ApplicationScopped
bean,我希望在CDI引导后立即实例化,是否有一种简单的方法可以做到这一点?
答案 0 :(得分:2)
有很多解决方案,但对我来说,只有两个不会感到黑客。我不确定Java EE 7是否以某种方式解决了这个问题,当我用Google搜索时找不到任何内容。
@Startup
。如果您可以使用EJB @Observes @Initialized ServletContext context
答案 1 :(得分:0)
仅在最近的CDI 1.1版本中; 2013年5月(Java EE 7);您可以在容器准备就绪时收到CDI事件。
public class CDIStartup {
public void postConstruct(@Observes @Initialized(ApplicationScoped.class) Object o) {
// CDI Ready
}
}