Vit*_*nko 1 java sql connection-pooling jdbc
我有连接池的singelton.
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();
}
}
Run Code Online (Sandbox Code Playgroud)
我应该同步getConnection()以防止从不同的线程获取相同的实例吗?它看起来已经被Tomcat同步了,但我不确定(我使用的是Tomcat 8).
虽然在java docs中没有明确提到它,但是DataSource#getConnection方法被设计为在单个DataSource实例上同时调用.
在一般情况下,您不需要提供客户端级别的同步.
可能省略了java docs中的限制,以提供实现的灵活性.
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |