作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用 BoneCP 连接池时,我遇到了以下困惑,并希望听到一些关于这方面的建议:
getConnection
BoneCP线程安全的方法?当有许多线程请求并行连接时,使用它的最佳方法是什么?connection.close()
? connection.close()
,它是真的断开与数据库的连接还是只是将连接发送到池中?在此先感谢您的支持。
最佳答案
BoneCP的getConnection()
是线程安全的;所以你不必自己做任何事情。是的,如果连接完成,您需要调用 connection.close()
(这不是特定于 BoneCP,而是适用于任何 JDBC 连接)。
与所有连接池一样,调用 connection.close()
会将连接返回到连接池,或者在某些情况下还会关闭物理连接(但实际上:这是您应该执行的实现细节不用担心)。
一般来说,连接池维护一个到数据库的物理连接池。当您调用 getConnection()
时,连接池会查找可用的物理连接并将其包装在一个逻辑 连接中。返回此逻辑连接。当您close()
逻辑连接时,连接池知道物理连接再次可用以供重用。
关于java - BoneCP:getConnection 方法是线程安全的还是我们必须处理它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966093/
我是一名优秀的程序员,十分优秀!