4
我有一个BoneCP(0.7.1 RELEASE)的问题。我虽然BoneCP.getConnection()
确保它会返回Connection对象,假设数据库是活着的。BoneCP不能从断开的连接中恢复
这里是我的代码配置我的游泳池
private void setupConnectionPool() throws SQLException
{
// setup the connection pool
String connectUri = "jdbc:mysql://master-mysql:3306/base?zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&useCompression=true";
BoneCPConfig config = new BoneCPConfig();
config.setJdbcUrl(connectUri);
config.setUsername("dbapp");
config.setPassword("meh");
config.setMinConnectionsPerPartition(5);
config.setMaxConnectionsPerPartition(10);
config.setPartitionCount(1);
config.setConnectionTimeoutInMs(5 * 1000);
this.connectionPool = new BoneCP(config); // setup the connection pool
}
然后地方我像这样使用
// I'm using Apache DbUtils
QueryRunner run = new QueryRunner();
Object result = run.query(this.connectionPool.getConnection(), query, handler, start, limit);
尝试运行此查询抛出SQLException
与国家08S01
(通信链路故障) 。
随后调用this.connectionPool.getConnection()
会返回良好的连接。
但是,它不是连接池的一个整体点,所以我不必处理丢失连接的情况吗?
谢谢!我的示例应用程序是单线程的。我在哪里可以下载预编译jar?网站上只有0.7.1。 – expert
此处:https://oss.sonatype.org/content/repositories/snapshots/com/jolbox/bonecp/0.8.0-beta3-SNAPSHOT/ – wwadge
(0.8.0-beta4,非快照版本,即将推出在maven中央) – wwadge