2016-12-21 3 views
0

Ich verwende Java mit MongoDB. Hier öffne ich MongoClient in jeder Methode. Ich muss es nur einmal in der Klasse öffnen und es einmal schließen.Java MongoDB Verbindungspool

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

Dies ist nur die Replikation von was ich arbeite. Mein Hauptanliegen ist es, Mongoclient während der gesamten Anwendung nur einmal zu öffnen. –

Antwort

0

können Sie ein Singleton-Muster verwenden, nur eine Instanz der Klasse MongoClient pro Anwendung zu gewährleisten. Sobald Sie die Instanz MongoClient erhalten haben, können Sie Ihre Operationen ausführen und müssen keine Operationen wie MongoClient.close explizit verwalten, da dieses Objekt das Verbindungs-Pooling automatisch verwaltet. In Ihrem Beispiel können Sie das MongoClient in einer statischen Variablen initialisieren.