1

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

我正在考虑以某种方式将此值传递给 StepExecution 类的 ExecutionContext 。

我已经浏览了https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html和其他文档以了解值是如何传递 ExecutionContext 的,但找不到任何东西。

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

4

1 回答 1

0

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

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

在 StepListener 中,我们确实检查或检索了该值并相应地进行了一些处理。

于 2018-01-08T17:32:04.327 回答