我有一个通过命令行调用的 spring 批处理应用程序。我想将该调用放在一个 shell 脚本中,这样我就可以运行一个脚本而不是整个命令。
例如,我的调用如下所示:
java -jar 运行=1
问题是对于每次运行,作业参数都需要递增。有没有一种方法可以让我在 shell 脚本中实现这一点?
谢谢
我有一个通过命令行调用的 spring 批处理应用程序。我想将该调用放在一个 shell 脚本中,这样我就可以运行一个脚本而不是整个命令。
例如,我的调用如下所示:
java -jar 运行=1
问题是对于每次运行,作业参数都需要递增。有没有一种方法可以让我在 shell 脚本中实现这一点?
谢谢
你像往常一样需要一个增量器。
<bean id="simpleIncrementer"
class="org.springframework.batch.core.launch.support.RunIdIncrementer"/>
<job id="myJob" incrementer="simpleIncrementer">
</job>
此增量器与CommandLineJobRunner一起使用的技巧是在运行任务时添加-next参数。
-next:(可选)根据Job中的JobParametersIncrementer按顺序开始下一个
像这样的东西:
java –jar myjob.jar jobs/myjob.xml myjob -next
您可以通过这种方式使用 for 循环执行 n 次(在终端中):
for i in {1..10}; do java -jar run=$i; done