我的应用程序中有一些Quartz作业,如果我的应用程序上下文被关闭,我需要立即终止。为此,我尝试实现ContextStoppedEvent。多次尝试后,我无法触发此事件。在调用此事件时,我需要一些帮助。
下面是我的代码。

@Component
public class StopContextListener implements ApplicationListener<ContextStoppedEvent> {

    private static final Logger LOG = LoggerFactory.getLogger(StopContextListener.class.getName());

    @Override
    public void onApplicationEvent(ContextStoppedEvent arg0) {
            LOG.info("Data base closed successfully");

    }


}


更新:

@Component
public class StopContextListener implements ApplicationListener<ContextClosedEvent> {

    private static final Logger LOG = LoggerFactory.getLogger(StopContextListener.class.getName());

    @Override
    public void onApplicationEvent(ContextClosedEvent arg0) {
            LOG.info("Data base closed successfully");
    }
}

最佳答案

鉴于您要求“如果关闭我的应用程序上下文,则立即终止”,我建议您听ContextClosedEvent而不是ContextStoppedEventContextStoppedEvent不会作为关闭上下文的一部分发布。

关于java - Spring Boot ContextStoppedEvent没有被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37186760/

10-09 00:46