1

アイテムプロセッサ間でアイテムの処理に関連するデータを渡す必要があります。データを永続化する必要はありません。これが最善のアプローチです(現在、StepSynchronizationManagerを使用してstepExecutionにアクセスし、ExecutionContextにデータを保存しています)。

4

1 に答える 1

2

StepExecutionContextにデータを保存する方法が悪い、または最善の方法ではないと思われる理由は何ですか?

StepExecutionにデータを保存せずに試して、代わりにプロセッサ間でアイテムを変更することができます

public class FirstProcessor implements ItemProcessor<String, String> {...}


public class SecondProcessor implements ItemProcessor<String, OtherClass> {

  public OtherClass process(String item) throws Exception {

     return otherClassObjectWithDataForNextProcessor;

  }
}

public class ThirdProcessor implements ItemProcessor<OtherClass, TargetClass> {...}

public class CustomItemWriter implements ItemWriter<TargetClass> {...}

SpringBatchDoc-アイテムプロセッサの連鎖を参照してください

于 2011-08-19T17:08:37.343 に答える