当前位置: 首页 > 知识库问答 >
问题:

优雅的关机在Spring Boot App中不起作用

郁隐水
2023-03-14

我想在现有的Spring Boot(v2.3.9)应用程序上激活优雅关机。

最初,为了测试该html" target="_blank">功能,我创建了一个示例应用程序并添加了属性服务器。shutdown:应用程序中的优雅。属性。当我关闭应用程序时,我可以在日志中看到服务器正常关闭。

对输出感到满意,我向现有应用程序添加了相同的属性。然而,当我关闭那个特定的应用程序时,关闭并不是很正常。不产生上述原木。这让我想知道是否真的设置了属性,所以为了加倍,我还将其设置为运行时参数-Dserver。关机=正常。即使在那之后,它也不起作用。

我已确认现有应用程序运行的Spring Boot/Tomcat版本,并且它们高于启用此属性所需的最低版本。

现有的应用程序有一个复杂的日志结构,混合了多种库(log4j、logback等)。是否会发生正常关闭,但由于更高的日志记录级别,日志不会显示?如果是这种情况,我应该设置/覆盖哪个属性来启用它们。

共有1个答案

益阳平
2023-03-14

这确实是一个日志问题。遗留代码深处的日志属性覆盖了外部日志级别。关机工作正常。

 类似资料:
  • 我用的是spring kafka 1.2.2。释放目前,我已经为没有BackOffPolicy和AlwaysRetryPolicy的容器配置了重试模板。确认模式为手动或立即。 当一个SIGTERM出现时,我会让当前消息被处理,当@KafkaListener再次被调用时,我会在容器上抛出RuntimeException,该容器会无限期重试并持续抛出异常。一段时间后,SIGKILL被发出,容器被停止(

  • 作为自动缩放presto集群工作的一部分,我们喜欢在EC2终止presto worker之前优雅地关闭它。以下命令后 curl-v-xput--data'“shutting_down”'-h“content-type:application/json”http://250.0.46.167:8081/v1/info/state worker日志立即指示“com.facebook.presto.se

  • 我正在开发一个由嵌入式Tomcat支持的Spring Boot应用程序,我需要通过以下步骤开发一个优雅的关机: 停止处理新的HTTP请求(停止web容器) 处理所有已接受的请求 关闭Spring ApplicationContext 附注。Spring Boot 1.5.20版本,Java 8

  • 在spring boot中有没有一种方法可以控制App的优雅关机。 我知道在bean中可以使用@predestroy方法,但如何控制调用这些@predestroy方法的顺序。 您可以有多个相互依赖的bean,上下文的关闭是否已经寻找这种依赖关系并以正确的顺序调用@predestroy方法? 2.)阻止rabbit消息侦听器接受新消息 3.)等待关机前已经开始但尚未完成的所有处理。

  • 当我调试我的Camel应用程序时,我意识到路由的正常关闭会忽略由触发的未完成任务。 如果我有如下的路由定义: 我在中设置了一个调试断点(即挂起wireTap的异步处理),然后调用将产生以下日志消息:

  • 我正在尝试了解Spring Boot如何关闭分布式Hazelcast缓存。当我连接然后关闭第二个实例时,我会得到以下日志: 似乎当我关闭它时,第二个实例并没有向第一个实例报告它正在正确关闭。我们在它无法连接到它几秒钟后收到警告,因此从集群中删除。 它表示它正在尝试运行一个关闭挂钩,但它所做的最后一个报告仍然是“活动的”,并且它从来没有像本文中提到的那样转到“关机”或“关机”。 pom。xml 只是