首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用proxool时,是否需要显式关闭每个getConnection()?

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

Stack Overflow用户
提问于 2009-08-14 02:35:22
回答 1查看 1.1K关注 0票数 3

我正在编写新的DB连接代码,并想尝试使用proxool作为连接池实现者。

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

但是当使用Proxool时,是否需要更好的选择?我很困惑,因为:

这里的proxool文档(http://proxool.sourceforge.net/quickStart.html)显示正在调用的close(),但是,

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

我的程序最关心的是性能(高达200 DB写/秒),因此我不确定Proxool的getConnection()/close()将如何影响性能。

我的问题是:

  1. 是所需的(),或者我可以依赖Proxool来关闭我的()--我每次都必须显式地调用close(),这不会对性能产生不利影响吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2009-08-14 02:52:23

数据库池通常是子类/修饰连接,这样如果应用程序调用了close()方法,它实际上不会关闭连接,而是将其释放回池中。这是因为性能方面的原因,因为每次建立新连接都会花费很大的代价,同时也是为了提高用户/连接比率。

也就是说,DO需要调用connection.close(),从而让池知道您不再使用它,并且可以将它提供给请求它的下一个线程。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1275767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档