El javadoc
dice:
Entonces, cuando crea un singleton con el cliente en él. Se puede reutilizar como se menciona en el Javadoc. No se requiere sincronización, ya que es seguro para subprocesos.
Una de las implementaciones podría ser:
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;
}
}
y usar el cliente como, en toda la aplicación. Connection pooling
será atendido por el MongoClient
como está documentado.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
o use la anotación @singleton:
@Singleton
public class SingletonA {
}
Consulte:http://tomee.apache.org/singleton-example.html