Spring Batch:使用ExcecutionContext传递步骤属性

时间:2018-01-08 15:42:51

标签: java spring spring-batch spring-batch-admin spring-framework-beans

我有一些弹簧批处理作业,其步骤数需要不同的时间才能运行。我现在需要为每个步骤定义阈值,以检查其运行是否超过阈值时间。

我想以某种方式将此值传递给StepExecution类的ExcecutionContext。

我已经浏览了https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html和其他文档,以了解如何通过ExcecutionContext传递值,但找不到任何内容。

任何人都可以帮我理解StepExecution的ExcecutionContext是如何初始化的,我可以在每个步骤定义中传递一些自定义参数吗?

1 个答案:

答案 0 :(得分:0)

我们的项目中有类似的情况,我们确实通过jobParameters的步骤传递值并修改或添加了作业参数中的值,如下所示

chunkContext.getStepContext().getStepExecution().getJobParameters().getParameters().put("THRESHOLD", "VALUE")

在StepListener中我们检查或检索了这个值并做了相应的处理。