MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използвайте един MongoClient в уеб услуга на JavaEE

javadoc казва:

Така че, когато създадете сингълтон с клиента в него. Може да се използва повторно, както е посочено в Javadoc. Не е необходима синхронизация, тъй като е безопасна за нишки.

Една от реализациите може да бъде:

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

и използвайте клиента като в цялото приложение. Connection pooling ще се погрижи от MongoClient както е документирано.

MongoClient client = ConnectionFactory.CONNECTION.getClient();

или използвайте анотацията @singleton:

@Singleton
public class SingletonA {

}

Вижте:http://tomee.apache.org/singleton-example.html



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. spring boot + apache camel + проблем с интеграцията на mongodb

  2. MongoDB - Еквивалент на LEFT JOIN, където една колекция не съществува

  3. Търсене на агрегиране на Mongo 3.6 с множество условия

  4. Как да преименувам поле на документ в MongoDB?

  5. Meteor Mongo findOne връща undefined в метод