您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Spring Boot执行器安全地关闭其他服务器吗?

使用Spring Boot执行器安全地关闭其他服务器吗?

Spring Bootshutdown端点调用此类:在您的org.springframework.boot.actuate.endpoint.ShutdownEndpoint调用。这反过来…close()``ApplicationContext

如果您的bean是已订购的并且已经精心编写了关闭方法,那么应该没问题。但是,如果没有,那么在该关闭周期的某个时刻“ 3个客户端正在运行的作业”可能会被中断。此外,可能在调用关闭和启动关闭周期之间的较小时间范围内建立新连接。

Spring提供了应用程序事件和侦听器挂钩,使您可以参与关闭周期。在ContextClosedEvent发布 豆类被破坏,嵌入式集装箱关机等,所以你可以使用这个认的行为踢之前实现自己的关闭行为,例如:

public class ShutdownListener implements ApplicationListener<ContextClosedEvent> {
    @Override
    public void onApplicationEvent(ContextClosedEvent event) {
        // 
    }
}

您可以实现此监听器,使其

您以与在Spring Boot中注册任何ApplicationListener相同的方式注册此监听器,例如

SpringApplication app = new SpringApplication(MyApplication.class);
app.addListeners(new ShutdownListener());
Java 2022/1/1 18:14:17 有616人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶