javadoc
siger:
Så når du opretter en singleton med klienten i den. Det kan genbruges som nævnt i Javadoc. Ingen synkronisering er påkrævet, da det er trådsikkert.
En af implementeringerne kunne være:
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;
}
}
og bruge klienten som gennem hele applikationen. Connection pooling
vil blive taget hånd om af MongoClient
som dokumenteret.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
eller brug @singleton-annotationen:
@Singleton
public class SingletonA {
}
Se:http://tomee.apache.org/singleton-example.html