2017-03-23 68 views
1

我正在尋找一種方法來禁用彈簧批量的跳過限制,我試圖指定一個值爲「0」跳過限制,但不接受。這裏是我的使用情況:是否可以禁用彈簧批次的跳過限制?

batch.xmlskip-limit="${limit_val}"

我想設置${limit_val}爲0,表示無法在默認情況下任何異常。在看到失敗後,我可以查看原因並決定是否可以跳過記錄。如果可以跳過,我希望能夠用值1替代${limit_val},然後重新運行批處理。

有關如何實現這一目標的任何幫助?

+0

寫處理器和檢查項目金正日符合要求的繼續前進,處理管道或跳過(http://docs.spring.io/spring-batch/reference/html/readersAndWriters.html#filiteringRecords) –

+0

跳過的決定在這裏必須是手動的,因此需要「對任何錯誤進行失敗」 – user7756579

回答

0

您是否嘗試過使用skip-policy屬性? 在step下定義skip-policy =「mySkipPolicy」,然後給出skipPolicy bean的定義。

通過實現SkipPolicy接口提供skipPolicy bean實現。

public class MySkipPolicy implements SkipPolicy 
    { 
    private int limit; 
    public boolean shouldSkip(final Throwable t, final int skipCount) throws SkipLimitExceededException 
    { 
    return true or false based on skipCount; 

    } 
    }