4

问题是:如何在春季批次中制作项目阅读器以提供列表而不是单个对象。

我已经搜索过了,一些答案是修改项目阅读器以返回对象列表并更改项目处理器以接受列表作为输入。

如何做/编码项目阅读器?

4

1 回答 1

6

查看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
    }

}
于 2012-08-13T19:57:56.023 回答