2016-12-21 27 views
0

MongoDBでJavaを使用しています。ここで私はそれぞれの方法でMongoClientを開いています。私はクラスを一度開いて一度閉じる必要があります。Java MongoDB接続プール

public class A 
{ 
    public String name() 
    { 
     MongoClient mongo = new MongoClient(host, port); 
     DB db = mongo.getDB(database); 
     DBCollection coll = db.getCollection(collection); 

     BasicDBObject doc = new BasicDBObject("john", e.getName()) 
    } 

    public String age() 
    { 
     MongoClient mongo = new MongoClient(host, port); 
     DB db = mongo.getDB(database); 
     DBCollection coll = db.getCollection(collection); 

     BasicDBObject doc = new BasicDBObject("age", e.getAge()) 
    } 
} 
+0

これは私が取り組んでいるものの複製です。私の主な関心事は、mongoclientをアプリケーション全体で1回だけ開くことです。 –

答えて

0

シングルトンパターンを使用すると、アプリケーションごとにMongoClientクラスのインスタンスが1つだけ保証されます。 MongoClientのインスタンスを取得すると、操作を実行できます。このオブジェクトは接続プーリングを自動的に管理するため、MongoClient.closeなどの操作を明示的に管理する必要はありません。

この例では、MongoClientを静的変数で初期化できます。