sql >> Databáze >  >> NoSQL >> MongoDB

Použijte jeden MongoClient v rámci webové služby JavaEE

javadoc říká:

Takže, když vytvoříte singleton s klientem v něm. Může být znovu použit, jak je uvedeno v Javadoc. Není vyžadována žádná synchronizace, protože je bezpečná pro vlákna.

Jedna z implementací může být:

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

a používat klienta jako v celé aplikaci. Connection pooling bude postaráno MongoClient jak je zdokumentováno.

MongoClient client = ConnectionFactory.CONNECTION.getClient();

nebo použijte anotaci @singleton:

@Singleton
public class SingletonA {

}

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



  1. Připojte se k více hostitelům mongo db a ověřte se pomocí jiné databáze v jarním spouštění

  2. MongoDB/PyMongo:jak „uniknout“ z parametrů při vyhledávání regulárních výrazů?

  3. Stejná chyba pole v agregaci _id

  4. Loop nevydává na základě dotazu hodnotu true nebo false