【发布时间】:2014-02-18 16:04:44
【问题描述】:
我有一个带有 CDI/Weld 的 Java SE 应用程序(以 org.jboss.weld.environment.se.StartMain 开头,没有任何应用程序服务器)。
在其中启动后台服务的正确方法是什么?
我尝试创建一个 @Singleton bean,它观察 ContainerInitialized 事件(如下所示),但我不确定容器何时会销毁此服务 bean。安全吗?有没有更好的办法?
@Singleton
public class BackgroundService {
public void onStart(@Observes ContainerInitialized event) {
// starting other threads etc.
}
}
【问题讨论】: