假设我有以下代码
DataSource source = (DataSource) (new InitialContext()).lookup("jdbc/myName");
Connection connnection = source.getConnection()
//use the connection to do some database operations...
最后,我还应该打电话给
connection.close()
发布资源?
如果连接来自连接池,如果我什么都不做,那么连接应该自动返回到池中,对吧?
另一方面,如果我关闭它,是否会对连接池产生任何不利影响(即,在多次通话后,池中将不会有任何连接?)
答案 0 :(得分:2)
答案是肯定的,请查看Closing JDBC Connections in Pool和JDBC Connection Pooling Best Practices以获取更多信息。
答案 1 :(得分:1)
是的,您应该关闭连接,如果只是为了快速恢复池。
本文http://www.javaranch.com/journal/200601/JDBCConnectionPooling.html建议在finally块中放置.close()调用。