使用OkHttp时Webapp取消部署内存泄漏,是否发出错误警报?

问题描述 投票:0回答:1

OkHttp在内部为连接池和某种看门狗创建线程。我已经看到有很多人在使用该库关闭应用程序时为此而苦苦挣扎。作者本身似乎并不愿意解决它(https://github.com/square/okhttp/issues/2482,“边际收益”)。特别是,Tomcat抱怨内存泄漏,因为线程被遗忘了。看来这些已被[[最终清除,有时会经过相当长的延迟。所以,我的问题是:是否由于此问题而实际上发生了内存泄漏?最终线程消失了,因此这意味着可以对所有线程进行垃圾回收。对吗?

java tomcat servlets java-ee okhttp
1个回答
0
投票
我是不喜欢Tomcat代码卸载的OkHttp作者之一。我们将在下一个次要版本中发布我们自己的并发抽象。 details here。这可能会缩短关闭最后一个响应和最后一个线程退出之间的60秒延迟。

您不应该在现代程序中卸载代码。 Tomcat来自JVM是长期存在的容器的时代。今天就是Kubernetes或其他集群编排技术。 Tomcat的代码卸载策略迫使您跳过笨拙的管理难题。如果您要与类加载器或安全管理器对抗,那么您会在虚假问题上浪费时间。

© www.soinside.com 2019 - 2024. All rights reserved.