如何在Spring Batch中的步骤之间传递数据

时间:2017-08-29 15:40:01

标签: parameter-passing spring-batch

如何使用Java配置而不是XML配置在Spring Batch作业的步骤之间传递数据?

1 个答案:

答案 0 :(得分:2)

最后,我找到了一个在没有任何XML配置的步骤之间共享数据的解决方案: 第一件事是使Tasklets类实现StepExecutionListener以及发送数据的tasklet:

@Override
public void beforeStep(StepExecution stepExecution) {}

@Override
public ExitStatus afterStep(StepExecution stepExecution) {
    stepExecution.getJobExecution().getExecutionContext().putString("test_key","test_value");
    return null;
}

以及必须获取数据的第二个tasklet:

@Override
public void beforeStep(StepExecution stepExecution) {
    test = stepExecution.getJobExecution().getExecutionContext().getString("test_key");
}

@Override
public ExitStatus afterStep(StepExecution stepExecution) {
    return null;
}