Le javadoc
dit :
Ainsi, lorsque vous créez un singleton avec le client dedans. Il peut être réutilisé comme mentionné dans le Javadoc. Aucune synchronisation n'est requise, car il est thread-safe.
L'une des implémentations pourrait être :
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;
}
}
et utiliser le client comme, tout au long de l'application. Connection pooling
sera pris en charge par le MongoClient
comme documenté.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
ou utilisez l'annotation @singleton :
@Singleton
public class SingletonA {
}
Référez-vous :http://tomee.apache.org/singleton-example.html