2017-04-26 9 views
0

1時間ごとに実行するバッチジョブがあります。バッチジョブが50分以上実行されると、現在の実行が強制終了されます。バッチが完了し、正常に終了spring-batch getPage()は1を返します

場合、すべてが良好であり、getPage()によって返された次のバッチ値で0です。しかし、我々は実行時間の長いバッチを殺した場合、次のバッチでgetPage()値が1でない0

です

バネの保存値はバッチ間でですか?コンテキストはどこに保存されていますか?

答えて

0

ステートフルItemReader実装(ItemStreamインターフェイスを実装するもの)を使用して、リーダーの状態がExecutionContext内、その後BATCH_STEP_EXECUTION_CONTEXT又はBATCH_JOB_EXECUTION_CONTEXTテーブル内に永続化されます。

あなたがここに文書でExecutionContext詳細を読むことができます:あなたがここにも春のバッチ内の状態管理について読むことができますhttp://docs.spring.io/spring-batch/apidocs/org/springframework/batch/item/ExecutionContext.html

:我々は唯一のすべてのこれらのテーブルの一つのテーブルを持っているhttps://docs.spring.io/spring-batch/reference/htmlsingle/#domainExecutionContext

+0

。しかし、どこにもページ情報が保存されているとは思われません。私たちが仕事を始めたときのページはどのようにすることができますか? – user1324887

+0

他に何かチョークできますか? readCountは 'batch_job_param'テーブルに保存されています。しかし、私はそれが使われている場所との関係は見ません – user1324887

関連する問題