java - Spring 批处理 : Use of ExcecutionContext to pass step attributes

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

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

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

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

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

最佳答案

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

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

在 StepListener 中,我们检查或检索了该值并进行了相应的处理。

关于java - Spring 批处理 : Use of ExcecutionContext to pass step attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48153551/

相关文章:

java - 没有打印任何内容

java - 在获取空对象的 Activity 之间传递对象

java - 春假服务

spring - 为什么我的 RestTemplate ClientHttpRequestInterceptor 没有被调用?

java - 如何在 Spring Batch 中从 ItemReader 动态设置 MultiResourceItemWriter 的资源

java - 排序后获取未排序 double 组的索引

java - 为什么最终变量不总是一个常量表达式?

java - JPA 复合外主键

spring-batch - JSR 352 Spring Batch 与 Java EE

java - 有没有办法在 Spring Batch 中调用 writer 之前拦截并注入(inject)另一个对象?