提问人:user3294707 提问时间:9/21/2023 最后编辑:Mr. Polywhirluser3294707 更新时间:9/21/2023 访问量:23
如何控制 HikariCP 异常?
How can I control HikariCP exceptions?
问:
我希望(由于某种原因)当数据库出现问题并且无法与 HikariCP 建立连接时,服务能够正常启动,并且不会因为数据库出现故障而终止。
我尝试用 try catch 控制连接,还有 with 和 with ,但服务仍然没有启动,也许您还有其他想法可以尝试使用?InitializationFailTimeout
spring.datasource.continue-on-error: true
@Bean
public DBSecret dbSecret(Environment env) {
return DBSecret.builder()
.url(env.getProperty("spring.datasource.url"))
.username(env.getProperty("spring.datasource.username"))
.password(env.getProperty("spring.datasource.password"))
.build();
}
@Bean
public DataSource datasource(DBSecret secret,
@Value("${spring.datasource.driverClassName}") String driverClass) {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(secret.getUrl());
config.setUsername(secret.getUsername());
config.setPassword(secret.getPassword());
config.setDriverClassName(driverClass);
config.setConnectionTimeout(1800000);
try {
return connection(config);
}catch (Exception e){
e.printStackTrace();
return null;
}
}
private HikariDataSource connection(HikariConfig config){
return new HikariDataSource(config);
}
答: 暂无答案
评论