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