学习笔记BoneCP

如果项目与数据库突然断开,BoneCP连接池可以自动重新建立新的数据库连接,但这些错误的连接不会马上被丢弃。而是由使用者使用错误连接出错后,再由BoneCP进行测试,测试失败的连接才会被抛弃。

当JdbcTemplate.execute(StatementCallback<T>action)调用到

stmt.executeQuery(sql)并出错时,StatementHandle会标记ConnectionHandle的possiblyBroken属性为true;

Conection.close()时,BoneCP会因为possiblyBroken的值为true,回收连接时会进行测试。

ReleaseHelperThread线程回收使用过的连接时,如果possiblyBroken为真时,则测试该连接。

未完……

注:

ConnectionHandle为java.sql.Connection接口的实现类

StatementHandle为java.sql.Statment接口的实现类

相关推荐