Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Java Spring Boot 2.3 Liveness Probe功能在正常关机时失败_Java_Spring Boot_Shutdown_Livenessprobe_Graceful Shutdown - Fatal编程技术网

Java Spring Boot 2.3 Liveness Probe功能在正常关机时失败

Java Spring Boot 2.3 Liveness Probe功能在正常关机时失败,java,spring-boot,shutdown,livenessprobe,graceful-shutdown,Java,Spring Boot,Shutdown,Livenessprobe,Graceful Shutdown,我正在用KubernetesterminationGracePeriodSeconds字段测试SpringBoot2.3中的新功能优雅关机(server.shutdown=malente和Tomcat Web服务器)。 当正常关机阶段开始时,新的HTTP请求将按预期被拒绝,此时应详细说明当前请求,直到可配置超时(spring.lifecycle.timeout per shutdown phase)。 奇怪的行为是Spring启动执行器活动结果,因为在这种情况下,活动端点是不可访问的 因此,ku

我正在用Kubernetes
terminationGracePeriodSeconds
字段测试SpringBoot2.3中的新功能优雅关机(
server.shutdown=malente
和Tomcat Web服务器)。 当正常关机阶段开始时,新的HTTP请求将按预期被拒绝,此时应详细说明当前请求,直到可配置超时(
spring.lifecycle.timeout per shutdown phase
)。 奇怪的行为是Spring启动执行器活动结果,因为在这种情况下,活动端点是不可访问的

因此,kubelet无法知道微服务在关机期间是否仍处于活动状态,或者是否因其他原因而卡住。由于K8s liveness probe不依赖于
terminationGracePeriodSeconds
字段,POD将根据其K8s liveness配置重新启动,而Spring boot microservice由于粗暴重启而无法正常关机


我错过什么了吗?我如何管理这个场景?

与此同时,我采用了另一个解决方案,我使用RMI协议通过JMX调用spring boot的liveness probe。在这种情况下,活跃度在正常关闭期间给出“向上”响应。 为此: 启用JMX将属性
spring.JMX.enabled
设置为true,并使用JMX客户端激活JMX运行状况指示器