MongoDB - 大量的MongoCleaner线程

Dim*_*ima 5 mongodb

不知怎的,我的java应用程序与mongodb交谈时得到了大量名为MongoCleanerXXX的停放(休眠)线程,我认为这些线程来自驱动程序.那些人数是~600.显然,数据库存在一些连接问题,在mongod重启后一段时间后确实恢复了.

MongoDB Java驱动程序版本是2.10.1 MongoDB版本是2.2.0

可能是什么原因以及我应该做错什么导致它作为MongoDB的客户端应用程序?

Tri*_*sha 4

有时,如果没有在适当的时间调用 MongoClient.close() ,我们会看到很多这样的清理线程。

例如:

  • 取消部署 Web 应用程序时(请参阅JAVA-817
  • 当身份验证失败时(请参阅JAVA-831

最初在清理这些线程方面存在一些竞争条件,但这在 Java 驱动程序的 2.6 版本中得到了修复。