javaweb的时候 通过dbcp连接池连接连接mysql时有时候会连接不上,并出现Communications link failure 错误

如下图所示

查阅相关资料 发现这是由于超过了mysql的空闲等待时间 而连接池错误的认为这个连接依然有效。这时可以重新配置dbcp连接池使其能够定时回收空闲的连接池

       新的配置可以参考下列配置方法

public DataSource dataSource(){
BasicDataSource ds=new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/spring_BookManager");
ds.setUsername("spring");
ds.setPassword("741258963");
ds.setRemoveAbandoned(true);//移除空闲连接
ds.setRemoveAbandonedTimeout(3600);//3600秒未使用则移除连接
return ds;
}