【问题标题】:How to detect closed connections in connection pool?如何检测连接池中的关闭连接?
【发布时间】:2013-01-07 06:29:32
【问题描述】:

想象一下当网络连接中断时有一个活动的 BoneCP jdbc 连接池,然后在一分钟后恢复。为了自动重新连接并重新创建池,应该如何配置 BoneCP? 目前,如果我尝试这样做,池中的所有 jdbc 连接仍然可用,并且每次我的代码尝试使用它们时,都会出现异常:“java.sql.SQLException: JZ0C0: Connection is already closed.”

更新: 看起来 BoneCP 可能不支持这个。有谁知道其他连接池框架是否(以及如何)解决了这个问题?

【问题讨论】:

    标签: java jdbc connection pool bonecp


    【解决方案1】:

    如果网络出现故障,驱动程序应抛出异常,然后由 BoneCP 捕获并破坏所有现有连接。

    【讨论】:

    • 不,至少在我的情况下不会发生(使用 Sybase 驱动程序)。网络出现故障时不会立即引发异常。只有在尝试使用错误连接执行 SQL 语句后才会引发异常。然而,即便如此,BoneCP 也不会回收连接。
    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2011-04-27
    相关资源
    最近更新 更多