開始下面是我的重試配置:Spring Batch的重試 - 沒有春天開始離開的地方或從開始
<batch:job id="myLookUpLoadJob">
<batch:step id="myLookUpTruncateStep">
<batch:tasklet ref="myLookupTruncateTasklet" />
<batch:next on="*" to="myLookUpLoadStep"/>
</batch:step>
<batch:step id="myLookUpLoadStep">
<batch:tasklet>
<batch:chunk reader="myLookupItemReader"
writer="myLookupItemWriter" commit-interval="100" retry-limit="2">
<retryable-exception-classes>
<include class=" org.springframework.dao.DataAccessResourceFailureException"/>
</retryable-exception-classes>
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>
下面是我的問題,而我無法擺脫春季DOC答案 - 將不勝感激輸入:
當發生重試後處理200行發生異常時,它是從行201開始還是從行1開始?
編輯
我試圖解決的問題是,在執行作業時,後立即提交第一個塊(100行),到ItemReader的連接被終止(復位)。作業然後重新啓動併成功完成。
我想知道如果這可能幫助:
從AbstractCursorItemReader
有將共享用於光標與步處理的其它部分連接的選項(setUseSharedExtendedConnection(布爾) 。如果你將這個標誌設置爲true,那麼你必須將DataSource包裝在ExtendedConnectionDataSourceProxy中,以防止在作爲步驟處理的一部分執行每次提交之後關閉和釋放連接。還必須使用支持JDBC 3.0或更高版本的JDBC驅動程序,因爲光標將隨附加打開選項'HOLD_CURSORS_OVER_COMMIT'已啓用。
你在用什麼讀卡器? –
org.springframework.batch.item.database.JdbcCursorItemReader。讀寫也是針對兩種不同的數據源,這就是爲什麼最初我想追求XA分佈式事務。 –
@MichaelMinella - 你有沒有更新?我計劃在下週初嘗試重啓(因爲我們本週已部署)。 AbstractCursorItemReader中的文檔UseSharedExtendedConnection似乎很適合嘗試。 –