[SPRING] DataSource가 DataSourceBuilder를 사용할 때 지원되지 않음
SPRINGDataSource가 DataSourceBuilder를 사용할 때 지원되지 않음
Spring-Batch (그리고 Spring은 일반적으로)에 익숙하지 않으며,이 작업을 수행하는 데 필요한 것을 스스로 가르치기 위해 온라인 문서를 따르고 있습니다. DB2 데이터베이스에 연결하려고합니다.
다음과 같이 XML로 DB2 연결을 선언하면 :
<bean id="wcs_dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver" />
<property name="url" value="jdbc:db2://127.0.0.1/DEV" />
<property name="username" value="user" />
<property name="password" value="pass5" />
</bean>
그럼 내 코드에로드 :
@Bean
public JdbcCursorItemReader<Product> databaseItemReader() {
ApplicationContext context =
new ClassPathXmlApplicationContext("context-datasource.xml");
DataSource dataSource = (DataSource) context.getBean("wcs_dataSource");
((ConfigurableApplicationContext)context).close();
JdbcCursorItemReader<Product> result = new JdbcCursorItemReader<Product>();
result.setDataSource(dataSource);
result.setSql(sqlString);
result.setRowMapper(new ProductRowMapper());
return result;
}
그것은 완벽하게 작동합니다. 예제와 같이 DataSourceBuilder를 사용하고 싶다면 궁극적으로 다음과 같이하고 싶습니다.
@ConfigurationProperties(prefix="DEV.datasource")
public DataSource Wcs_DataSource(){
return DataSourceBuilder.create().build();
}
그러나 어떤 이유로 그것은 작동하지 않습니다. 나는 얻다
원인 : java.lang.IllegalStateException : 지원되는 DataSource 유형이 없습니다.
나는 또한 시도했다 :
public DriverManagerDataSource dataSource() {
DataSourceBuilder DSBuilder = DataSourceBuilder.create();
DSBuilder.url("jdbc:db2://127.0.0.1/DEV");
DSBuilder.username("user");
DSBuilder.password("password");
DSBuilder.driverClassName("com.ibm.db2.jcc.DB2Driver");
DriverManagerDataSource result = (DriverManagerDataSource) DSBuilder.build();
return result;
}
그리고 나는 같은 오류를 얻는다. 디버거에서 실행할 경우 .build () 오류가 발생하는 것을 볼 수 있습니다.
나는 쉬운 것을 놓치고 있다고 확신하지만, 나는 그것을 이해할 수 없다.
해결법
-
==============================
1.M. Deinum이 대답했습니다. 내 의존성에서 commons-dbcp가 누락되었습니다! 나는 그것이 그와 같이 쉬운 무엇인가라고 상상했다.
M. Deinum이 대답했습니다. 내 의존성에서 commons-dbcp가 누락되었습니다! 나는 그것이 그와 같이 쉬운 무엇인가라고 상상했다.
-
==============================
2.제 경우에는 spring-boot-startter-jdbc 의존성 작업을 추가하십시오.
제 경우에는 spring-boot-startter-jdbc 의존성 작업을 추가하십시오.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
from https://stackoverflow.com/questions/34790924/i-am-getting-datasource-not-supported-when-using-datasoucebuilder by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JUnit 테스트 클래스가 JMeter에 표시되지 않습니다. (0) | 2019.05.08 |
---|---|
[SPRING] 스프링 데이터 JPA에서 페이지 매김 문제 (0) | 2019.05.08 |
[SPRING] 오류 페이지에서 null 인증을 반환하는 Spring SecurityContext (0) | 2019.05.08 |
[SPRING] JavaConfig의 Spring Bean 별칭 (0) | 2019.05.08 |
[SPRING] Spring Boot 405 POST 메소드가 지원되지 않습니까? (0) | 2019.05.08 |