Я делаю весеннее загрузочное приложение с настраиваемым менеджером транзакций с собственным источником данных. Кстати, я использую hikariCP в качестве источника данных
@Configuration
@EnableTransactionManagement
@EnableJpaRespositories(
basePackages = "..."
entityManagerFactoryRef = "..."
transactionManagerRef = "..."
)
public class myDataSourceConfigration {
@Bean
@Primary
@Configuration("myconfig.datasource")
public DataSourceProperties myconfigDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
@Configuration("myconfig.datasource.configurations")
public DataSource myconfigDataSource(){
return myconfigDataSourceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build;
}
@Bean
@Primary
public LocalContainerEntityManagerFactoryBean myconfigEntityManagerFactory(EntityManagerFactoryBuilder builder){
return builder
.dataSource(myconfigDataSource)
.packages(MyClass.class)
.build;
}
@Bean
@Primary
public PlatformTransactionManager myconfigTransactionManager(
final @Qualifier ("myconfigEntityManagerFactory")LocalContainerEntityManagerFactoryBean myconfigEntityManagerFactory){
return new JpaTransactionManager(myconfigEntityManagerFactory.getObject());
}
}
В моем application.properties у меня есть эти конфигурации
myconfig.datasource.url:url
myconfig.datasource.username:username
myconfig.datasource.password:password
myconfig.datasource.driverClassName:driverClass
Теперь все это работает, когда все хорошо, но проблема в том, когда он не работает Например, если я введу неправильный пароль, hikari выдает исключение из пула соединений, но приложение продолжает работать. Я хочу, чтобы приложение не сработало, выдало исключение и завершило работу, но у меня возникли проблемы с выяснением этого. Я попытался добавить другую конфигурацию, называемую initializationFailTimeout, например myConfig.datasource.initializationFailTimeout:5000
, но та же проблема, я вижу исключение, но приложение продолжает работать.
В любом случае, как сделать так, чтобы при быстрой загрузке hikari генерировалось исключение подключения? *
Спасибо