2012-01-23 66 views
6

Javaドライバを使用してmongodbにアクセスしています。私はdb接続プールが内部的にdriver.Butによって処理されると仮定しているが、私の接続数はdbにアクセスするたびに増加している。mongodb接続プール

これは私のserverStatusログです。

"connections" : { 
      "current" : 276, 
      "available" : 543 
    } 

mongo接続を明示的に閉じる必要がありますか?どのように私はJavaで接続プールを管理する必要がありますか?

+0

可能重複? Tomcatで](http:// stackoverflow .com/questions/4647636/mongodb-java-driver-database-connection-pooling-with-tomcat) – fyr

答えて

17

1つのMongoオブジェクトを使用する必要があります。そのため、プールが行われます。ただし、複数のオブジェクトを使用する場合は、.close()を明示的に呼び出す必要があります。

http://www.mongodb.org/display/DOCS/Java+Tutorial

はMongoのクラスはスレッドセーフと スレッド間で共有できるように設計されています。通常は、特定のDBクラスタ のインスタンスを1つだけ作成し、アプリ全体で使用します。何らかの理由であなたは 多くのmongo intancesを作成する場合は、次の点に注意してください

すべてのリソース使用制限(最大接続数など)は、インスタンスを処分するモンゴ インスタンスごとに適用され、)あなたは(mongo.closeを呼び出すことを確認してください クリーンアップするためのリソース