我有一些弹簧批处理作业,其步骤数需要不同的时间才能运行。我现在需要为每个步骤定义阈值,以检查其运行是否超过阈值时间。
我想以某种方式将此值传递给StepExecution类的ExcecutionContext。
我已经浏览了https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html和其他文档,以了解如何通过ExcecutionContext传递值,但找不到任何内容。
任何人都可以帮我理解StepExecution的ExcecutionContext是如何初始化的,我可以在每个步骤定义中传递一些自定义参数吗?
答案 0 :(得分:0)
我们的项目中有类似的情况,我们确实通过jobParameters的步骤传递值并修改或添加了作业参数中的值,如下所示
chunkContext.getStepContext().getStepExecution().getJobParameters().getParameters().put("THRESHOLD", "VALUE")
在StepListener中我们检查或检索了这个值并做了相应的处理。