700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java dbcp连接池 java – DBCP连接池connection.close()是否返回到池的连接

java dbcp连接池 java – DBCP连接池connection.close()是否返回到池的连接

时间:2019-10-31 10:39:46

相关推荐

java dbcp连接池 java – DBCP连接池connection.close()是否返回到池的连接

如果我们执行getConnection(),则使用DBCP中的BasicDataSource,在finally块中我们关闭连接,它确实会返回到池的连接,或者是否关闭连接.我正在检查的代码片段就是这个

try {

Connection conn1 = getJdbcTemplate().getDataSource()

.getConnection();

//Some code to call stored proc

} catch (SQLException sqlEx) {

throw sqlEx;

} finally {

try {

if (conn != null) {

conn.close();

}

} catch (SQLException ex1) {

throw ex1;

}

}

我正在检查BasicDataSource的源代码,我到达了这个连接的包装类.

private class PoolGuardConnectionWrapper extends DelegatingConnection {

private Connection delegate;

PoolGuardConnectionWrapper(Connection delegate) {

super(delegate);

this.delegate = delegate;

}

public void close() throws SQLException {

if (delegate != null) {

this.delegate.close();

this.delegate = null;

super.setDelegate(null);

}

}

委托对象,如果是java.sql.Connection类型.包装器代码调用委托的close方法,该方法将关闭集合而不是将连接返回到池.这是DBCP的已知问题,还是我错误地阅读了源代码请告诉我.

谢谢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。