javadoc
säger:
Så, när du skapar en singleton med klienten i den. Det kan återanvändas enligt Javadoc. Ingen synkronisering krävs, eftersom det är trådsäkert.
En av implementeringarna kan vara:
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;
}
}
och använd klienten som genom hela applikationen. Connection pooling
kommer att tas om hand av MongoClient
som dokumenterats.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
eller använd @singleton-kommentaren:
@Singleton
public class SingletonA {
}
Se:http://tomee.apache.org/singleton-example.html