startup - 当编写startupbean(@Singleton @Startup @PostConstruct)时,我是否可以获取ServletContext?

标签 startup ejb-3.1 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 方法,然后根据需要调用单例来执行启动工作。

关于startup - 当编写startupbean(@Singleton @Startup @PostConstruct)时,我是否可以获取ServletContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22515883/

相关文章:

r - 在 Rprofile 中设置 `width`

java - 无法运行 arquillian 测试

java - 调用父类PostConstruct方法而不是子类

java - hadoop 无法启动从机 "fatal error"

linux - "Permission denied"启动时运行命令

java - 客户端-服务器程序中逻辑的服务器端脚本编写方法

ejb - @Stateless 和 @Singleton 的区别

java - 如何(以及何时)初始化需要访问仅在运行时已知的其他 bean 的 Spring bean?

spring - 如何推迟调用@PostConstruct,直到jUnit设置测试上下文

windows - 如何在 Windows 启动时添加 mongoDB 服务?