2012-09-26 41 views
1

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

例如,我的调用是这样的:

Java的罐子运行= 1

的问题是每次运行,作业参数需要增加。有没有一种方法可以在shell脚本中实现这一点?使用for循环这样

感谢

+0

你有一个持久化上下文(那些带有BATCH_前缀的表)用于您的弹簧批量作业? –

+0

是的,我们确实有..这就是工作参数需要传递和增量(因为它需要是唯一的),每次 – Sai

回答

2

您需要的增量为这个如常。

<bean id="simpleIncrementer" 
class="org.springframework.batch.core.launch.support.RunIdIncrementer"/> 
<job id="myJob" incrementer="simpleIncrementer"> 
</job> 

这个增量与CommandLineJobRunner工作的窍门是运行任务时添加- 下参数。

- 下:(可选)根据在工作

这样的事情JobParametersIncrementer开始在序列中的下一:

java –jar myjob.jar jobs/myjob.xml myjob -next 
1

你可以做N次(在终端):

for i in {1..10}; do java -jar run=$i; done 
+0

嗨..我只是想知道,'我'的价值需要改变每次我运行shell脚本时,上面的工作也会如此?例如,如果我运行作业2次...然后退出会话...再次登录并重新运行shell脚本... varibale会递增到3还是会回到1? – Sai

相关问题