MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Korzystaj z jednego MongoClient w ramach usługi internetowej JavaEE

javadoc mówi:

Tak więc, kiedy tworzysz singletona z klientem w nim. Można go ponownie wykorzystać, jak wspomniano w dokumentacji Javadoc. Synchronizacja nie jest wymagana, ponieważ jest bezpieczna dla wątków.

Jedną z implementacji może być:

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

i używaj klienta w całej aplikacji. Connection pooling będzie pod opieką MongoClient zgodnie z dokumentacją.

MongoClient client = ConnectionFactory.CONNECTION.getClient();

lub użyj adnotacji @singleton:

@Singleton
public class SingletonA {

}

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Poważny spadek wydajności dzięki strumieniom zmian MongoDB

  2. Mongoose:Jak zapełnić populację o głębokości 2 poziomu bez wypełniania pól pierwszego poziomu? w mongodb

  3. MongoDB $avg Operator potoku agregacji

  4. Jak mogę zapisać obiekt BsonDocument do pliku i odczytać go ponownie za pomocą Javy?

  5. return Model.create(arr).exec() nie działa w manguście