1

私はバッチ処理に春のバッチタスクレットを使用しています。私のシナリオは、夜の午後 11 時に 1 日 1 回以下のプロセスを実行することです。プロセスは

ファイルを読み込んで処理する

DBにデータを書き込む

ファイルをアーカイブします。

しかし、ジョブを実行すると、ジョブは複数のスレッドで最初のステップを実行し続け、このエラーが発生します

ジョブxmlで設定して、スケジュール時間に1回だけジョブを実行できるワットはありますか?

<batch:job id="PullJob">


        <batch:step id="ProcessingStep" next="cleanStep">
            <batch:tasklet transaction-manager="transactionManager">
                <batch:chunk reader="fileReader" processor="processor" writer="dbWriter" commit-interval="30" />
            </batch:tasklet>
        </batch:step>

        <batch:step id="cleanStep">
            <tasklet ref="cleaningTasklet"/>
        </batch:step>

    </batch:job>
4

1 に答える 1

0

このSO投稿を参照してください。他にパラメーターがない場合は、現在の日付をパラメーターとして渡して、一意のジョブ実行を取得できます。

于 2015-08-15T18:20:40.113 に答える