2013-01-23 110 views
0

想象一下,当网络连接关闭时有一个活动的BoneCP jdbc连接池,然后在一分钟后回来。为了自动重新连接并重新创建池,应该如何配置BoneCP? 当前,如果我尝试这样做,所有jdbc连接在池中保持可用,并且每次我的代码尝试使用它们时,都会收到异常:“java.sql.SQLException:JZ0C0:连接已关闭。”如何检测连接池中的关闭连接?

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

回答

0

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

+1

不,至少在我的情况下不会发生(使用Sybase驱动程序)。这个例外情况并没有引发网络关闭。只有在尝试使用错误的连接执行SQL语句之后才会抛出异常。然而,即使这样,BoneCP也不会回收连接。 – Faustas