De javadoc
zegt:
Dus, wanneer u een singleton maakt met de client erin. Het kan worden hergebruikt zoals vermeld in de Javadoc. Er is geen synchronisatie vereist, omdat het thread-safe is.
Een van de implementaties zou kunnen zijn:
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;
}
}
en gebruik de client als, in de hele applicatie. Connection pooling
wordt verzorgd door de MongoClient
zoals gedocumenteerd.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
of gebruik de @singleton-annotatie:
@Singleton
public class SingletonA {
}
Raadpleeg:http://tomee.apache.org/singleton-example.html