1

我有一个通过命令行调用的 spring 批处理应用程序。我想将该调用放在一个 shell 脚本中,这样我就可以运行一个脚本而不是整个命令。

例如,我的调用如下所示:

java -jar 运行=1

问题是对于每次运行,作业参数都需要递增。有没有一种方法可以让我在 shell 脚本中实现这一点?

谢谢

4

2 回答 2

2

你像往常一样需要一个增量器。

<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
于 2012-09-27T11:36:26.117 回答
1

您可以通过这种方式使用 for 循环执行 n 次(在终端中):

for i in {1..10}; do java -jar run=$i; done
于 2012-09-26T19:03:59.067 回答