所以我试图创建一个定期启动的任务,我希望它能从ServletContext中获取一些东西:
...
@Singleton
@Startup
public class InitTimers {
@Resource
private TimerService timerService;
@PostConstruct
public void initTimer() {
...
// I want ServletContext here, how do I?
ServletContext context = getServletContext();
...
}
@Timeout
public void timeout(Timer timer) {
...
}
}
EJB 3.1 @Startup @Singleton可以访问ServletContext吗?
答案 0 :(得分:2)
不,这是不可能的。我建议将逻辑移动到ServletContextListener contextInitialized方法,然后根据需要调用单例来完成启动工作。