8080向tomcat发送SIGINT信号后立即关闭

发布于 2025-01-15 17:59:20 字数 509 浏览 0 评论 0原文

我在 Tomcat 中托管一个应用程序。我有一些清理逻辑需要在应用程序关闭之前运行,我已经使用 spring @Predestroy 方法实现了这些逻辑。 在我向进程发送 SIGINT 后,预销毁器逻辑开始运行,这正是我想要的。但作为此预销毁逻辑的一部分,有一些 API 调用和其他内容需要 8080 保持打开状态。一旦我发送终止信号,端口就会关闭,但进程仍在运行。 有没有办法在所有 bean 被销毁之前仍然保持端口打开?有人可以帮忙吗?

(我已经使用了具有足够超时时间的优雅关闭标签,即使满足先决条件,它对我不起作用 - https://dzone.com/articles/configuring-graceful-shutdown-readiness-and-livene 我的spring boot版本是2.6,tomcat是9.0.60)

I am hosting an application in Tomcat. I have some cleanup logic that needs to run before application shuts down, which I have implemented using spring @Predestroy methods.
After I send SIGINT to the process, predestroyer logic starts running, which is exactly what I want. But as part of this predestroy logic, there are a few API calls and other stuff that needs 8080 to be still open. As soon as I send kill signal, the ports are closed, but the process still runs.
Is there a way I can still keep the ports open until all beans are destroyed? Can someone please help?

( I have used graceful shutdown tag with a sufficient timeout period, it does not work for me even though the prerequisites are met - https://dzone.com/articles/configuring-graceful-shutdown-readiness-and-livene
My spring boot version is 2.6 and tomcat is 9.0.60 )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文