我們有一個每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
您也可以Spring Batch的位置中讀到狀態管理:https://docs.spring.io/spring-batch/reference/htmlsingle/#domainExecutionContext
我們只有把所有這些表的一個表。但是,我沒有看到頁面信息被保存在任何地方。當我們開始工作時,頁面如何成爲1? – user1324887
還有什麼我們可以乾的?我看到readCount被保存在'batch_job_param'表中。但是我沒有看到它被使用的關係 – user1324887