Sil*_*ior 4 java sql connection-pooling jdbc
我在我的应用程序中使用连接池.我的问题是:
在连接池环境的情况下,是否明确要求在关闭连接之前关闭语句?
在连接池池环境连接没有被关闭,(但返回到空闲连接池).我检查了jdbc 4.0功能规格.在第9.4.4点,它明确指出:
关闭连接对象应用程序调用方法Connection.close以指示它已完成使用连接.调用对象的close方法时,将关闭从给定Connection对象创建的所有Statement对象.关闭Connection之后,除了close,isClosed或isValid方法之外,任何访问其任何方法的尝试都将导致抛出SQLException.
所以jdbc规范要求在关闭连接时关闭所有语句.那么它仅适用于非连接池环境还是适用于连接池环境?
根据我的说法,在集合环境的情况下应该无关紧要,因为我们正在编写接口(java.sql.Connection&java.sql.Statement).所以我们不打扰实现,而class class(java.sql.Connection)没有关于child/impementation类(Vendor实现类)的任何信息.
绝对.这可能是该Statement实施将有哪些应该被释放其他资源,或具有与连接有其他关系.您不应该也不应该知道实现细节.
你的方法是绝对正确的:代码到界面,避免一点点"捷径",以后可能很容易咬你.(即使它现在有效,它可能不会在池或连接类的未来版本中.)
| 归档时间: |
|
| 查看次数: |
6254 次 |
| 最近记录: |