【发布时间】:2012-08-09 09:46:17
【问题描述】:
问题是:如何在春季批次中使 Item reader 交付一个列表而不是单个对象。
我已经搜索过了,一些答案是修改项目阅读器以返回对象列表并更改项目处理器以接受列表作为输入。
如何做/编码项目阅读器?
【问题讨论】:
标签: spring-batch
问题是:如何在春季批次中使 Item reader 交付一个列表而不是单个对象。
我已经搜索过了,一些答案是修改项目阅读器以返回对象列表并更改项目处理器以接受列表作为输入。
如何做/编码项目阅读器?
【问题讨论】:
标签: spring-batch
看看official spring batch documentation for itemReader
public interface ItemReader<T> {
T read() throws Exception, UnexpectedInputException, ParseException;
}
// so it is as easy as
public class ReturnsListReader implements ItemReader<List<?>> {
public List<?> read() throws Exception {
// ... reader logic
}
}
处理器工作原理相同
public class FooProcessor implements ItemProcessor<List<?>, List<?>> {
@Override
public List<?> process(List<?> item) throws Exception {
// ... logic
}
}
处理器可以返回任何东西,而不是返回一个列表,例如一个字符串
public class FooProcessor implements ItemProcessor<List<?>, String> {
@Override
public String process(List<?> item) throws Exception {
// ... logic
}
}
【讨论】:
JdbcPagingItemReader 的工作代码,我可以调整它以返回对象的List 吗?请see my question