衆所周知,Spring批處理自2.0版以來使用面向塊處理。Spring批處理面向塊處理策略的回滾機制
這是否意味着,如果在項目編寫器中發生異常,數據源事務管理器將回滾整個塊或僅回滾相關項目?
其實,我試了一下,看到框架回滾了整個塊。這不是我所需要的,因爲我不想讓那些已經成功處理的499個項目在包含500個項目的塊中回滾,而最後一個項目導致拋出異常。
我能找到的唯一解決方案是將以下屬性添加到我的tasklet。但是,我不確定這是否正確。
<batch:transaction-attributes propagation="NOT_SUPPORTED"/>
另一種觀點是簡單地將塊大小減小到1(一),但那個也沒有多大意義。
也許Spring Batch不適合我的問題域。如果是這樣,請告訴我,這樣我就不會再爲這種框架特定的行爲而苦苦掙扎。
任何建議將不勝感激。