从spring项目处理器读取数据库调用
我是新来的 我只是想知道我们是否可以从Itemprocessor进行数据库调用(jdbccursoritemreader) 我需要读取db(ItemReader),发送记录进行处理(ItemProcessor),在处理时,我需要调用其他数据库(就像参考数据一样)来更新我从ItemReader获得的记录,并最终将最终记录发送给writer 欢迎提出任何解决方法和建议 谢谢。是的,你可以这样做 您需要向处理器中注入一个类来为您读取数据库。为了简单起见,我可能会使用JdbcTemplate 大概是这样的:从spring项目处理器读取数据库调用,spring,batch-processing,Spring,Batch Processing,我是新来的 我只是想知道我们是否可以从Itemprocessor进行数据库调用(jdbccursoritemreader) 我需要读取db(ItemReader),发送记录进行处理(ItemProcessor),在处理时,我需要调用其他数据库(就像参考数据一样)来更新我从ItemReader获得的记录,并最终将最终记录发送给writer 欢迎提出任何解决方法和建议 谢谢。是的,你可以这样做 您需要向处理器中注入一个类来为您读取数据库。为了简单起见,我可能会使用JdbcTemplate 大概是这样
public class MyProcessor implements ItemProcessor<Foo, Bar> {
private JdbcTemplate jdbcTemplate;
@Override
public Foo process(Bar bar) throws Exception {
//use JdbcTemplate here
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
公共类MyProcessor实现ItemProcessor{
私有JdbcTemplate JdbcTemplate;
@凌驾
公共Foo进程(Bar)引发异常{
//在这里使用JdbcTemplate
}
公共void setJdbcTemplate(JdbcTemplate JdbcTemplate){
this.jdbcTemplate=jdbcTemplate;
}
}
配置处理器时,插入JdbcTemplate:
<bean class="com.example.MyProcessor" id="myProcessor">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
你好,尼尔,谢谢你的回复。我将此解决方案保留为计划B。我认为spring批处理配置本身是否提供了这样的解决方案,例如itemReader1从主数据库读取数据并发送到itemprocessor1,itemReader2从参考数据库读取数据并发送到itemprocessor2,并使用compositeitemprocessor club这两个结果,处理并将其发送给单个或多个ItemWriter。可能是这样吗?