1、之前做项目的时候,发现有些项目存在数据库无限重连问题,如果在假期没人监控,可能导致日志文件爆满。
解决方案 :步骤1、更换新版本的Druid,如下(网上很多人反馈是在老版本中才存在)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.1</version>
</dependency>
2、配置文件中加上失败重连次数限制
#连接失败后重试次数
connection-error-retry-attempts: 5
3、配置数据库连接失败,项目启动失败
@Component
public class CheckDataSourceHelper implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
try {
context = applicationContext;
// 项目初始化完成后,手动检验数据库
DataSource dataSource = (DataSource) context.getBean("dataSource");
dataSource.getConnection().close();
} catch (Exception e) {
e.printStackTrace();
// 当检测数据库连接失败时, 停止项目启动
System.exit(-1);
}
}
public ApplicationContext getApplicationContext() {
return context;
}
}