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