ejb 3.1 -当编写startupbean (@Singleton @Startup @PostConstruct)



所以我试图创建一个任务,定期发射,我希望它得到一些东西从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吗?

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

最新更新