1時間ごとに実行するバッチジョブがあります。バッチジョブが50分以上実行されると、現在の実行が強制終了されます。バッチが完了し、正常に終了spring-batch getPage()は1を返します
場合、すべてが良好であり、getPage()
によって返された次のバッチ値で0です。しかし、我々は実行時間の長いバッチを殺した場合、次のバッチでgetPage()
値が1でない0
バネの保存値はバッチ間でですか?コンテキストはどこに保存されていますか?
1時間ごとに実行するバッチジョブがあります。バッチジョブが50分以上実行されると、現在の実行が強制終了されます。バッチが完了し、正常に終了spring-batch getPage()は1を返します
場合、すべてが良好であり、getPage()
によって返された次のバッチ値で0です。しかし、我々は実行時間の長いバッチを殺した場合、次のバッチでgetPage()
値が1でない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
。しかし、どこにもページ情報が保存されているとは思われません。私たちが仕事を始めたときのページはどのようにすることができますか? – user1324887
他に何かチョークできますか? readCountは 'batch_job_param'テーブルに保存されています。しかし、私はそれが使われている場所との関係は見ません – user1324887