如何为作业设置一些配置参数,例如输入文件路径。我的用例是,我有一些作业处理输入文件中的数据,这些作业作为其他作业的一部分被触发。
<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,所以我不能直接访问作业启动器,因为它有它自己的。
发布于 2014-05-08 22:23:10
JobStep可以将JobParameterExtractor作为依赖项,允许您从StepExecution中提取所需的作业参数。我们提供的实现是DefaultJobParametersExtractor。这将从StepExecution的ExecutionContext中提取作业的参数(由您指定要使用的键)。此实现还包括作为参数传递给子作业的所有父作业的参数。
你可以在下面的链接中阅读更多关于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
https://stackoverflow.com/questions/23541392
复制相似问题