Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 允许在tomcat/spring mvc容器关闭前完成飞行中请求_Spring Mvc_Tomcat_Shutdown_Application Shutdown - Fatal编程技术网

Spring mvc 允许在tomcat/spring mvc容器关闭前完成飞行中请求

Spring mvc 允许在tomcat/spring mvc容器关闭前完成飞行中请求,spring-mvc,tomcat,shutdown,application-shutdown,Spring Mvc,Tomcat,Shutdown,Application Shutdown,春季4.2.3 运行在tomcat 7上的Spring Mvc Web应用程序 在关闭tomcat时,我正在寻找执行以下操作的方法 停止接收任何新的请求 在spring/tomcat开始关闭所有服务之前,允许所有当前正在运行的http请求完成 原因是,我有一个应用程序,用于处理购买预付款产品的客户。(广播时间、电力等)。必须允许在关闭前完成进入我的应用程序的所有请求,以确保我的数据和事务本身的完整性 我知道我可以在我的SpringBean上使用@PreDestroy作为钩子来执行关机操作。但

春季4.2.3 运行在tomcat 7上的Spring Mvc Web应用程序

在关闭tomcat时,我正在寻找执行以下操作的方法

  • 停止接收任何新的请求
  • 在spring/tomcat开始关闭所有服务之前,允许所有当前正在运行的http请求完成
原因是,我有一个应用程序,用于处理购买预付款产品的客户。(广播时间、电力等)。必须允许在关闭前完成进入我的应用程序的所有请求,以确保我的数据和事务本身的完整性

我知道我可以在我的SpringBean上使用
@PreDestroy
作为钩子来执行关机操作。但我需要一种应用程序范围的方法,在spring或容器甚至开始关闭我的服务之前给我一个钩子


我已经重新搜索了几个小时,但我一直找不到我要找的内容?

SpringBoot 1.5+提供了一个选项,可以正常关闭应用程序,这有助于在应用程序关闭之前完成飞行中请求的处理

优雅地关闭SpringBoot应用程序的流程

  • JVM接收到SIGTERM信号并开始关闭Spring容器

  • Spring EventListener侦听ContextClosedEvent,并在关闭启动后调用

  • EventListener更新Spring引导HealthIndicator并使其“停止服务”
  • 使用Thread.sleep延迟上下文关闭,以允许负载平衡器查看更新的HealthIndicator状态并停止将请求转发到此实例
  • 当Thread.sleep完成时,Tomcat容器将正常关闭。首先暂停连接器,不再接受新请求。接下来,允许Tomcat线程池有一段可配置的时间来完成活动线程
  • 最后,关闭Spring上下文
  • 有用链接:




    SpringBoot 1.5+提供了一个选项,可以正常关闭应用程序,这有助于在应用程序关闭之前完成飞行中请求的处理

    优雅地关闭SpringBoot应用程序的流程

  • JVM接收到SIGTERM信号并开始关闭Spring容器

  • Spring EventListener侦听ContextClosedEvent,并在关闭启动后调用

  • EventListener更新Spring引导HealthIndicator并使其“停止服务”
  • 使用Thread.sleep延迟上下文关闭,以允许负载平衡器查看更新的HealthIndicator状态并停止将请求转发到此实例
  • 当Thread.sleep完成时,Tomcat容器将正常关闭。首先暂停连接器,不再接受新请求。接下来,允许Tomcat线程池有一段可配置的时间来完成活动线程
  • 最后,关闭Spring上下文
  • 有用链接: