如何控制 HikariCP 异常?

How can I control HikariCP exceptions?

提问人:user3294707 提问时间:9/21/2023 最后编辑:Mr. Polywhirluser3294707 更新时间:9/21/2023 访问量:23

问:

我希望(由于某种原因)当数据库出现问题并且无法与 HikariCP 建立连接时,服务能够正常启动,并且不会因为数据库出现故障而终止。

我尝试用 try catch 控制连接,还有 with 和 with ,但服务仍然没有启动,也许您还有其他想法可以尝试使用?InitializationFailTimeoutspring.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);
}
java spring-boot 异常 jpa hikaricp

评论


答: 暂无答案