Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 关闭JVM停止期间由第三方JAR打开的ScheduledThreadPoolExecutor_Mongodb_Threadpool_Permgen - Fatal编程技术网

Mongodb 关闭JVM停止期间由第三方JAR打开的ScheduledThreadPoolExecutor

Mongodb 关闭JVM停止期间由第三方JAR打开的ScheduledThreadPoolExecutor,mongodb,threadpool,permgen,Mongodb,Threadpool,Permgen,在JVM停止期间,很少有线程池没有正确关闭。由于此Perm Gen泄漏发生在类装入器被限制进行垃圾收集时 这些线程池是由第三方应用程序(Elasticsearch)打开的,除了客户端实例之外,我对它没有任何直接控制权 客户端实例确实提供了关闭调度程序和线程池的方法,但此错误没有得到纠正。” 请帮忙。有什么方法可以让第三方获得ScheduledThreadPoolExecutor的实例,并通过Java应用程序将其关闭?答案通过参考以下两篇文章来解决: Plumber工具帮助提供了类加载器泄漏引用和

在JVM停止期间,很少有
线程池
没有正确关闭。由于此
Perm Gen泄漏
发生在类装入器被限制进行垃圾收集时

这些线程池是由第三方应用程序(Elasticsearch)打开的,除了
客户端
实例之外,我对它没有任何直接控制权

客户端
实例确实提供了关闭
调度程序
线程池
的方法,但此错误没有得到纠正。”


请帮忙。有什么方法可以让第三方获得ScheduledThreadPoolExecutor的实例,并通过Java应用程序将其关闭?

答案通过参考以下两篇文章来解决:

Plumber工具帮助提供了类加载器泄漏引用和导致内存泄漏的线程的详细信息

第1条: 本文建议如何找出谁创建了导致内存泄漏的线程

艾伦·迪格拉的回答救了我。特别是第四和第五点

第2条: 本文建议如何关闭客户端


实际上是Mongo客户端创建了此线程,而不是elasticsearch