5

どういうわけか、mongodb と通信している私の Java アプリケーションは、MongoCleanerXXX という名前の膨大な数のパークされた (スリープ状態の) スレッドで終わりました。これは、ドライバーからのものであると推測されます。それらの数は〜600でした。どうやらmongodが再起動されてからしばらくしてから回復したデータベースにいくつかの接続の問題があったようです。

MongoDB Java ドライバーのバージョンは 2.10.1 です MongoDB のバージョンは 2.2.0 です

これの理由は何ですか?MongoDBのクライアントアプリとしてこれを引き起こすために私が間違っているべきことは何ですか?

4

2 に答える 2

4

MongoClient.close() が適切なタイミングで呼び出されない場合、これらのクリーンアップ スレッドが多数表示されることがあります。

例えば:

  • Web アプリケーションのアンデプロイ時 ( JAVA-817を参照)
  • 認証に失敗した場合 ( JAVA-831を参照)

元々 、これらのスレッドのクリーンアップに関していくつかの競合状態がありましたが、これはバージョン 2.6 の Java ドライバーで修正されました。

于 2013-07-02T13:00:13.583 に答える