Java 使用proxool时,是否需要显式关闭每个getConnection()?
我正在编写新的DB连接代码,并想尝试使用proxool作为连接池的实现者 通常,程序员会确保每个DriverManager.getConnection(…)后面都有一个connection.close() 但是当使用Proxool时,是否需要关闭?我很困惑,因为: a。这里是proxool文档 () 显示正在调用的close(),但 b。我在某个地方读过那本书 添加关闭所有文件的关闭挂钩 程序退出时的连接 我的程序最关心的是性能(高达200 DB写入/秒),所以我不确定Proxool的getConnection()/close()将如何影响性能 我的问题是:Java 使用proxool时,是否需要显式关闭每个getConnection()?,java,connection,pooling,proxool,Java,Connection,Pooling,Proxool,我正在编写新的DB连接代码,并想尝试使用proxool作为连接池的实现者 通常,程序员会确保每个DriverManager.getConnection(…)后面都有一个connection.close() 但是当使用Proxool时,是否需要关闭?我很困惑,因为: a。这里是proxool文档 () 显示正在调用的close(),但 b。我在某个地方读过那本书 添加关闭所有文件的关闭挂钩 程序退出时的连接 我的程序最关心的是性能(高达200 DB写入/秒),所以我不确定Proxool的getCo
提前感谢。数据库池通常对连接进行子类化/修饰,以便
close()
方法(如果由应用程序调用)实际上不会关闭连接,而是将其释放回池中。这样做是出于性能原因,因为每次建立新连接的成本可能相当高,同时也是为了提高用户/连接比率
也就是说,您确实需要调用connection.close()
,从而让池知道您不再使用它,并且可以让请求它的下一个线程使用它