新しいバネバッチで、ステップ間のリストを渡すための助けが必要でした。私のステップ1の作家で、私はExecutionContextにリストを追加しています。私の読者で次のステップリーダーでジョブのコンテキストからデータを取得するSpringバッチ
ExecutionContext stepContext = this.stepExecution.getExecutionContext();
stepContext.put("messageList", messages);
ステップ2から私が実行して戻ってデータを取得しています:
JobExecution jobExecution = stepExecution.getJobExecution();
ExecutionContext jobContext = jobExecution.getExecutionContext();
this.messages= jobContext.get("messageList");
これは動作し、私はリストを取得するが、私が午前問題は、私はこのリストを渡したいということですItemReaderのread()メソッドは、リストを一度返すだけで、リストを返すようにループします。これを行っている間、プロセッサもループします。これを行うread()メソッドなしで、ステップ2でリーダーにリストを渡す方法はありますか?ベローだから基本的にやろうとしているイムは、ステップ1で、私の作家から生成されたリストを読み取るためにステップ2で、私の読者を得ることが何であるかを私のメッセージリーダー
public class MessageReader implements ItemReader<Object> {
private Object messages;
@Override
public Object read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
return messages;
}
@BeforeStep
public void retrieveSharedStepDate(StepExecution stepExecution){
JobExecution jobExecution = stepExecution.getJobExecution();
ExecutionContext jobContext = jobExecution.getExecutionContext();
this.messages= jobContext.get("messageList");
}
です。