我有這個singelton與連接池。我應該同步getConnection()DataSource
public enum ConnectionPool {
INSTANCE;
private DataSource ds = null;
ConnectionPool() {
try {
final Context initCtx = new InitialContext();
ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/test");
} catch (NamingException e) {
e.printStackTrace();
}
}
public Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
我應該同步getConnection()以防止從不同線程獲取相同的實例嗎?它看起來像已經由Tomcat同步,但我不確定(我使用Tomcat 8)。
你應該爲此使用Singleton模式。 –
@RaghuKNair,這是一個單身人士。 – shmosel
辛格爾頓從來都不是正確的模式。 http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons – Samuel