【发布时间】:2014-05-13 09:45:35
【问题描述】:
有没有一种简单的方法可以在 CDI 启动后立即执行代码?
实际上我有一个 @ApplicationScopped bean,我想在 CDI 引导后立即实例化它,有没有简单的方法可以做到这一点?
【问题讨论】:
标签: java cdi bootstrapping
有没有一种简单的方法可以在 CDI 启动后立即执行代码?
实际上我有一个 @ApplicationScopped bean,我想在 CDI 引导后立即实例化它,有没有简单的方法可以做到这一点?
【问题讨论】:
标签: java cdi bootstrapping
有很多解决方案,但对我来说,只有两个不觉得很老套。我不确定 Java EE 7 是否以某种方式解决了这个问题,当我用谷歌搜索时找不到任何东西。
@Startup。如果您可以使用 EJB,这是最好的@Observes @Initialized ServletContext context
【讨论】:
最近才使用 CDI 1.1 版本; 2013 年 5 月(Java EE 7);当容器准备好时,您有可能收到 CDI 事件。
public class CDIStartup {
public void postConstruct(@Observes @Initialized(ApplicationScoped.class) Object o) {
// CDI Ready
}
}
【讨论】: