В настоящее время я работаю над модулем источника данных, который будет использоваться в приложении с загрузочной пружиной. Мне нужно создать 2 источника данных, используя postgresql и hikari.
Я пытался следовать руководству https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources, но я все еще получаю исключение
JUNIT Класс
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = AppDataSourceConfig.class)
public class PropertyDaoImplTest extends AppBaseDAO implements PropertyDAOTest {
private static final Logger LOGGER = LogManager.getLogger(PropertyDaoImplTest.class);
@Test
public void allPropertiesTest() {
LOGGER.debug("Getting all properties for test!");
assertTrue(true);
List<PropertyEntityTest> items = this.primaryWriteTemplate.query(QUERY_ALL_ACTIVE_PROPERTIES, new PropertyMapper());
assertNotNull(items);
}
}
@Configuration
public class AppDataSourceConfig extends HikariConfig {
private final static Logger LOGGER = LogManager.getLogger(AppDataSourceConfig.class);
@Bean(name = "dataSourceWriteProperties")
@Primary
@ConfigurationProperties(prefix = "primary.write.ds")
public DataSourceProperties writeDataSourceProperties() {
return new DataSourceProperties();
}
@Bean(name = "primaryWriteDataSource")
@ConfigurationProperties(prefix = "primary.write.ds.config")
@Primary
public HikariDataSource primaryWriteDataSource(){
LOGGER.debug("Creating primary write datasource for R3App!");
return writeDataSourceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build();
}
application.properties
primary.write.ds.jdbc-url=jdbc:postgresql://localhost:5432/propAppdb
primary.write.ds.username=
primary.write.ds.password=
primary.write.ds.config.pool-name=primaryWrite
primary.write.ds.config.maximum-pool-size=50
Вызвано: org.springframework.beans.BeanInstantiationException: Не удалось создать экземпляр [com.zaxxer.hikari.HikariDataSource]: метод фабрики «primaryWriteDataSource» вызвал исключение; вложенным исключением является org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException: Не удалось определить подходящий класс драйвера
в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:185) ~ [spring-beans-5.1.3.RELEASE.jar: 5.1.3.RELEASE]
в org.springframework.beans.factory.support.ConstructorResolver.instantiate (ConstructorResolver.java:622) ~ [spring-beans-5.1.3.RELEASE.jar: 5.1.3.RELEASE]
... 66 общих кадров опущено
Вызывается: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException: не удалось определить подходящий класс драйвера
в org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName (DataSourceProperties.java:236) ~ [spring-boot-autoconfigure-2.1.1.RELEASE.jar: 2.1.1.RELEASE]
в org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder (DataSourceProperties.java:176) ~ [spring-boot-autoconfigure-2.1.1.RELEASE.jar: 2.1.1.RELEASE]