Java サーブレットで Mongo DB を使用する際に問題に直面しています。
私のサーブレットには、データを取得および追加するためにデータベースにアクセスするための多くの方法 (~20) があります。1つの非常に簡単な例:
public static String getSomething(String s) {
String json = "[]";
JSONArray jsonArray = new JSONArray();
DBCollection table;
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB( "myDb" );
BasicDBObject quoteQuery = new BasicDBObject("abc", abc);
DBCursor cursor = table.find(quoteQuery);
try {
while(cursor.hasNext()) {
jsonArray.put(cursor.next());
}
} finally {
cursor.close();
}
// ...
問題は、この Java サーブレットが Linux サーバーにデプロイされると、10 日間ほど正常に動作することです。
その後、クラッシュします。
var/log ディレクトリの mongodb.log に移動すると、次の繰り返し出力が得られます。
「開いている接続が多すぎるため、接続が拒否されました」
今どこで編集すればよいのか、これにどう対処すればよいのかわかりません。サーバーで開いている接続の制限を拡大しようとしましたが、それでも同じ結果が得られます。
助言がありますか?