sql >> Database teknologi >  >> NoSQL >> MongoDB

Brug en enkelt MongoClient på tværs af en JavaEE-webservice

javadoc siger:

Så når du opretter en singleton med klienten i den. Det kan genbruges som nævnt i Javadoc. Ingen synkronisering er påkrævet, da det er trådsikkert.

En af implementeringerne kunne være:

public enum ConnectionFactory {
    CONNECTION;
    private MongoClient client = null;

    private ConnectionFactory() {
        try {
            client = new MongoClient();
        } catch (Exception e) {
            // Log it.
        }
    }

    public MongoClient getClient() {
        if (client == null)
            throw new RuntimeException();
        return client;
    }
}

og bruge klienten som gennem hele applikationen. Connection pooling vil blive taget hånd om af MongoClient som dokumenteret.

MongoClient client = ConnectionFactory.CONNECTION.getClient();

eller brug @singleton-annotationen:

@Singleton
public class SingletonA {

}

Se:http://tomee.apache.org/singleton-example.html



  1. REST API-kald virker kun én gang

  2. Distinkt i Spring Data MongoDB

  3. MongoDB-Java-driver:Fang undtagelse, når indsættelse mislykkes

  4. Udtrækning af en liste over understrenge fra MongoDB ved hjælp af et regulært udtryk