4

質問: 単一のオブジェクトではなくリストを配信するために、Spring バッチでアイテム リーダーを作成する方法。

私は全体を検索しましたが、いくつかの答えは、オブジェクトのリストを返すようにアイテムリーダーを変更し、リストを入力として受け入れるようにアイテムプロセッサーを変更することです。

アイテムリーダーを実行/コーディングする方法は?

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 に答える