gpt4 book ai didi

java - 我怎么知道是什么阻止了 spring webapp 的关闭

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

我们有一个略微增长的 spring webapp(在 tomcat 7 上),它在关闭时非常慢。 (这对我们的持续交付性能有负面影响)

我怀疑,一定有一些 bean 在它的 @PreDestroy 方法中阻塞(或占用很长时间)。

到目前为止,我已经通过为每个池、线程和计时器指定不同的名称并确保它们是守护线程或被正确关闭来确保它与未正确关闭的线程(池)无关。

有没有人每个人都解决过这样的情况,并且可以给我提示如何处理这个问题?

顺便说一句:终止 tomcat 进程不是一个选项 - 我们确实需要为我们的生产系统彻底关闭。

最佳答案

分析将是核选项。仅使用线程转储可能很容易了解正在发生的事情(特别是如果它只是阻塞线程,因为该状态将长期存在)。如果您将 2 个转储分开几秒钟,并且它们为一个或多个线程显示相同或相似的输出,那么这可能是瓶颈。您可以使用 jstack 或“kill -3”(在合理的操作系统上)获取线程转储。

关于java - 我怎么知道是什么阻止了 spring webapp 的关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21909632/

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