写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; }