gpt4 book ai didi

java - 从在单个 tomcat 上运行的多个应用程序关闭 spring boot 应用程序

转载 作者:行者123 更新时间:2023-11-28 22:07:22 25 4
gpt4 key购买 nike

我想在不停止 tomcat 的情况下从单个 tomcat 服务器上运行的多个应用程序以编程方式关闭 spring boot 应用程序。

我通过谷歌搜索找到了几个解决方案,比如

System.exit(0) 

SpringbootApplication.exit()

导致关闭 tomcat。我不想关闭tomcat。只是特定的应用程序。

我该怎么做......以编程方式有什么办法可以做到这一点。

请帮忙!

最佳答案

一种方法是使用执行器。

在你的pom中添加这个依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

将这些属性添加到你的 yml/properties 文件中

management.endpoint.shutdown.enabled=true
endpoints.shutdown.enabled=true
management.endpoints.web.exposure.include=*

有了这个,您可以点击这个 rest 端点来关闭应用程序

http://host:port/actuator/shutdown

这是一个POST 调用。如果您在应用程序中使用 spring security,那么您可能需要进行一些调整以允许此端点通过。你可以像

这样使用 curl 调用 post call
curl -X POST http://host:port/actuator/shutdown

关于java - 从在单个 tomcat 上运行的多个应用程序关闭 spring boot 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58691312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com