gpt4 book ai didi

java - 如何在Spring Batch中为作业设置一些配置参数,以便它可以被步骤和子作业使用?

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:26 25 4
gpt4 key购买 nike

如何为作业设置一些配置参数,例如输入文件路径。我的用例是,我有一些处理输入文件中的数据的作业,这些作业作为其他作业的一部分被触发,例如

<job id="jobA">     
<step id="stepA" >
<job ref="jobC"/>
</step>
</job>


<job id="jobB">
<step id="stepB" >
<job ref="jobC"/>
</step>
</job>


<job id="jobC">
<step id="stepC" >
<tasklet ref="steCTasklet" />
</step>
</job>

所以这里JobA和JobB触发了jobC。 JobC 处理JobA 和JobB 提供的输入文件中的数据。如何为JobA和JobB设置不同的输入文件路径,以便将它们传递给JobC。

我们可以将其作为参数传递给JobA和JobB,但由于JobA和JobB的它是固定的,我不想将它们作为参数从外部传递。

此外,JobA 和 JobB 中的其他步骤应该可以访问输入文件路径,这些步骤不会触发其他作业。

此外,我正在使用 spring-batch-admin,因此我无法直接访问作业启动器,因为它有自己的。

最佳答案

JobStep 可以将 JobParameterExtractor 作为依赖项,允许您从 StepExecution 中提取所需的作业参数。我们提供的实现是DefaultJobParametersExtractor。这将从 StepExecutionExecutionContext 中提取作业的参数(您指定要使用的键)。此实现还包括作为参数传递给子作业的所有父作业参数。

您可以在下面的链接中阅读有关JobParametersExtractor的更多信息。 http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#external-flows http://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/core/step/job/JobParametersExtractor.html

关于java - 如何在Spring Batch中为作业设置一些配置参数,以便它可以被步骤和子作业使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com