dbcp设置idle链接检查

使用dbcp连mysql是,如果链接池中的链接长时间不用,在达到mysql 的最大超时时间时,mysql会断掉该链接,如果再次使用该链接是就会出现wait_timeout异常,提示设置autoReconnect=true,但是dbcp对这个设置不起作用。要想避免这样的事情,就要对idle的链接做健康检查,同坐BasicDataSource的参数设置可以让其自行检查。

 ds.setTestOnBorrow(true);//从池中取得链接时做健康检查,该做法十分保守
 ds.setTimeBetweenEvictionRunsMillis(5000L);//
 ds.setValidationQuery("select current_date()");
 ds.setNumTestsPerEvictionRun(5);
 ds.setTestWhileIdle(true);//运行ilde链接测试线程,剔除不可用的链接

你可能感兴趣的:(mysql)