javadoc
nói:
Vì vậy, khi bạn tạo một singleton với ứng dụng khách trong đó. Nó có thể được sử dụng lại như đã đề cập trong Javadoc. Không cần đồng bộ hóa vì nó an toàn cho chuỗi.
Một trong những cách triển khai có thể là:
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;
}
}
và sử dụng máy khách trong suốt ứng dụng. Connection pooling
sẽ được chăm sóc bởi MongoClient
như được ghi lại.
MongoClient client = ConnectionFactory.CONNECTION.getClient();
hoặc sử dụng chú thích @singleton:
@Singleton
public class SingletonA {
}
Tham khảo: http://tomee.apache.org/singleton-example.html