Mongodb 关闭JVM停止期间由第三方JAR打开的ScheduledThreadPoolExecutor
在JVM停止期间,很少有Mongodb 关闭JVM停止期间由第三方JAR打开的ScheduledThreadPoolExecutor,mongodb,threadpool,permgen,Mongodb,Threadpool,Permgen,在JVM停止期间,很少有线程池没有正确关闭。由于此Perm Gen泄漏发生在类装入器被限制进行垃圾收集时 这些线程池是由第三方应用程序(Elasticsearch)打开的,除了客户端实例之外,我对它没有任何直接控制权 客户端实例确实提供了关闭调度程序和线程池的方法,但此错误没有得到纠正。” 请帮忙。有什么方法可以让第三方获得ScheduledThreadPoolExecutor的实例,并通过Java应用程序将其关闭?答案通过参考以下两篇文章来解决: Plumber工具帮助提供了类加载器泄漏引用和
线程池
没有正确关闭。由于此Perm Gen泄漏
发生在类装入器被限制进行垃圾收集时
这些线程池是由第三方应用程序(Elasticsearch)打开的,除了客户端
实例之外,我对它没有任何直接控制权
客户端
实例确实提供了关闭调度程序
和线程池
的方法,但此错误没有得到纠正。”
请帮忙。有什么方法可以让第三方获得ScheduledThreadPoolExecutor的实例,并通过Java应用程序将其关闭?答案通过参考以下两篇文章来解决: Plumber工具帮助提供了类加载器泄漏引用和导致内存泄漏的线程的详细信息 第1条: 本文建议如何找出谁创建了导致内存泄漏的线程 艾伦·迪格拉的回答救了我。特别是第四和第五点 第2条: 本文建议如何关闭客户端
实际上是Mongo客户端创建了此线程,而不是elasticsearch