使用proxool时,是否需要显式关闭每个getConnection()?

Kun*_*nal 3 java connection pooling proxool

我正在编写新的数据库连接代码,并认为我会尝试将proxool作为连接池实现者.

通常,程序员会确保每个DriverManager.getConnection(...)后跟一个connection.close().

但是在使用Proxool时,是否需要关闭?我很困惑,因为:

一个.这里的proxool文档(http://proxool.sourceforge.net/quickStart.html)显示了被调用的close(),

湾 我读到某个地方,proxool添加了关闭钩子,当程序退出时关闭所有连接.

我的程序最关心的是性能(每秒最多200个DB写入),因此我不确定Proxool的getConnection()/ close()将如何影响性能.

我的问题是:

  1. 是否需要close(),还是我可以依靠Proxool关闭我的连接?

  2. 如果我必须每次都明确地调用close(),那么这不会对性能产生负面影响吗?

提前致谢.

Chs*_*y76 7

数据库池通常是子类/装饰连接,以便该close()方法(如果它由应用程序调用)实际上不会关闭连接,而是将其释放回池中.这样做是出于性能原因,因为每次建立新连接的成本非常高,以及为了提高用户/连接率.

这就是说,你不要需要调用connection.close(),从而让池中知道你不再使用它,它可以提供给请求它的下一个线程.