2

所以我试图创建一个定期触发的任务,我希望它从 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 吗?

4

1 回答 1

2

不,这是不可能的。我建议将逻辑移到一个 ServletContextListener contextInitialized 方法中,然后根据需要调用单例进行启动工作。

于 2014-03-24T15:18:28.200 回答