我是Spring-Batch(以及一般的Spring)的新手,并且一直在跟踪在线文档,教我自己完成这项任务需要什么.我正在尝试连接到DB2数据库.
如果我像这样用XML声明DB2连接:
然后将其加载到我的代码中,如下所示:
@Bean
public JdbcCursorItemReadersspathXmlApplicationContext("context-datasource.xml");
DataSource dataSource = (DataSource) context.getBean("wcs_dataSource");
((ConfigurableApplicationContext)context).close();
JdbcCursorItemReadersql(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()上.
我确信我错过了一些简单的事情,但我无法弄清楚.
最佳答案
M. Deinum回答了这个问题.我错过了我的依赖项中的commons-dbcp!我觉得这很简单.
To use the DataSourceBuilder you need to have commons-dbcp,or
tomcat-jdbc or hikaricp on your classpath else it won’t work. I you
don’t have one of those you will get the message as you get.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。