java-ee で mongoDb データベースを使用しています
私は自分の接続オブジェクトを持っています:
public class MongoDb {
static Mongo m;
DB db;
DBCollection coll;
public MongoDb(String collection){
m = null;
try {
if(m==null){
m = new Mongo( "127.0.0.1" );
}
db = m.getDB( "game" );
coll = db.getCollection(collection);
} catch (UnknownHostException e) {
System.out.println("Database connexion error");
e.printStackTrace();
}
}
public void save(BasicDBObject bdbo){
coll.insert(bdbo);
}
public void update(BasicDBObject search, BasicDBObject update){
coll.update(search, update);
}
public void remove(BasicDBObject bdbo){
coll.remove(bdbo);
}
public long count(){
long nb = coll.getCount();
return nb;
}
public List<DBObject> getAll(){
List<DBObject> list = new ArrayList<DBObject>();
DBCursor cursor = coll.find().limit(100);
try {
while(cursor.hasNext()) {
list.add(cursor.next());
}
} finally {
cursor.close();
}
return list;
}
public List<DBObject> getAll(String key, String value){
List<DBObject> list = new ArrayList<DBObject>();
BasicDBObject q = new BasicDBObject();
q.append(key, Pattern.compile(value, Pattern.CASE_INSENSITIVE));
DBCursor cursor = coll.find(q).limit(100);
try {
while(cursor.hasNext()) {
list.add(cursor.next());
}
} finally {
cursor.close();
}
return list;
}
public DBObject findOne(BasicDBObject bdbo){
DBObject obj = coll.findOne(bdbo);
return obj;
}
}
しかし、リクエストを行うたびに新しい接続が作成され、mongodb には接続の最大数があるため、リクエストの最大数に達した場合は、mongodb を再起動する必要があります。
データベース接続を 1 回だけ初期化する方法、または接続の終了 ID をテストする方法はありますか?
ありがとう