我在 Java servlet 上使用 Mongo DB 时遇到问题。
我的 servlet 有许多方法(~20)可以访问数据库以检索和添加数据。一个非常简短的例子:
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 servlet 部署在 linux 服务器中时,它可以正常工作 10 天左右。
之后它崩溃了。
当我转到 var/log 目录中的 mongodb.log 时,我得到以下重复输出:
“连接被拒绝,因为打开的连接太多”
我不确定现在在哪里编辑或如何处理。我试图增加服务器中打开连接的限制,但仍然有相同的结果。
有什么建议么?