コマンドラインから呼び出されるSpringBatchアプリケーションを使用しています。コマンド全体ではなくスクリプトを実行できるように、その呼び出しをシェルスクリプトに入れたいと思います。
たとえば、私の呼び出しは次のようになります。
java -jar run = 1
問題は、実行ごとに、ジョブパラメータをインクリメントする必要があることです。シェルスクリプトでそれを実現する方法はありますか?
ありがとう
コマンドラインから呼び出されるSpringBatchアプリケーションを使用しています。コマンド全体ではなくスクリプトを実行できるように、その呼び出しをシェルスクリプトに入れたいと思います。
たとえば、私の呼び出しは次のようになります。
java -jar run = 1
問題は、実行ごとに、ジョブパラメータをインクリメントする必要があることです。シェルスクリプトでそれを実現する方法はありますか?
ありがとう
通常どおり、これにはインクリメント機能が必要です。
<bean id="simpleIncrementer"
class="org.springframework.batch.core.launch.support.RunIdIncrementer"/>
<job id="myJob" incrementer="simpleIncrementer">
</job>
このインクリメンターがCommandLineJobRunnerと連携するための秘訣は、タスクの実行時に-nextパラメーターを追加することです。
-next :(オプション)ジョブのJobParametersIncrementerに従ってシーケンスの次を開始します
このようなもの:
java –jar myjob.jar jobs/myjob.xml myjob -next
次のようにforループを使用して、(ターミナルで)n回実行できます。
for i in {1..10}; do java -jar run=$i; done