您是否需要关闭从jdbc连接池获得的连接?

时间:2011-04-19 18:30:38

标签: jdbc connection-pooling

假设我有以下代码

DataSource source = (DataSource) (new InitialContext()).lookup("jdbc/myName"); 
Connection connnection = source.getConnection() 

//use the connection to do some database operations...

最后,我还应该打电话给
connection.close()发布资源?

如果连接来自连接池,如果我什么都不做,那么连接应该自动返回到池中,对吧?

另一方面,如果我关闭它,是否会对连接池产生任何不利影响(即,在多次通话后,池中将不会有任何连接?)

2 个答案:

答案 0 :(得分:2)

答案是肯定的,请查看Closing JDBC Connections in PoolJDBC Connection Pooling Best Practices以获取更多信息。

答案 1 :(得分:1)

是的,您应该关闭连接,如果只是为了快速恢复池。

本文http://www.javaranch.com/journal/200601/JDBCConnectionPooling.html建议在finally块中放置.close()调用。