sql >> Database >  >> NoSQL >> MongoDB

Gebruik een enkele MongoClient via een JavaEE-webservice

De javadoc zegt:

Dus, wanneer u een singleton maakt met de client erin. Het kan worden hergebruikt zoals vermeld in de Javadoc. Er is geen synchronisatie vereist, omdat het thread-safe is.

Een van de implementaties zou kunnen zijn:

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;
    }
}

en gebruik de client als, in de hele applicatie. Connection pooling wordt verzorgd door de MongoClient zoals gedocumenteerd.

MongoClient client = ConnectionFactory.CONNECTION.getClient();

of gebruik de @singleton-annotatie:

@Singleton
public class SingletonA {

}

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



  1. Hoe nulls te negeren terwijl u een MongoDB-document ongedaan maakt?

  2. Visuele statistieken voor uw MongoDB-server

  3. Hoe vind je alle datumbereiken die een ander datumbereik overlappen in MongoDB?

  4. MongoDB - $addToSet op een lijst met ingesloten documenten