Das javadoc
sagt:
Also, wenn Sie ein Singleton mit dem Client darin erstellen. Es kann wie im Javadoc erwähnt wiederverwendet werden. Es ist keine Synchronisierung erforderlich, da sie Thread-sicher ist.
Eine der Implementierungen könnte sein:
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;
}
}
und verwenden Sie den Client als in der gesamten Anwendung. Connection pooling
wird vom MongoClient
erledigt wie dokumentiert.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
oder verwenden Sie die @singleton-Anmerkung:
@Singleton
public class SingletonA {
}
Siehe:http://tomee.apache.org/singleton-example.html