2012-12-26 84 views
0

我有一個彈簧批處理應用程序與平面文件作爲項目閱讀器。這個單位包含兩種不同類型的記錄。在我的塊的定義中,我必須指定一個動態提交間隔。應用程序必須在每次讀取新類型的記錄時進行提交。彈簧批量動態落實間隔

例子:

1, 'recordType1', 50 
1, 'recordType1', 51 
1, 'recordType1', 52 
COMMIT 
2, 'recordType2', 'foo' 
COMMIT 
1, 'recordType1', 53 
COMMIT 
2, 'recordType2', 'foo' 
COMMIT 
1, 'recordType1', 50 
1, 'recordType1', 50 
1, 'recordType1', 50 
1, 'recordType1', 50 
COMMIT 
2, 'recordType2', 'foo' 
2, 'recordType2', 'foo' 
2, 'recordType2', 'foo' 
2, 'recordType2', 'foo' 
COMMIT 

我怎樣才能做到這一點?

回答

1

CompletionPolicy旨在完成此用例。也就是說,你想根據標準提交,而不僅僅是一個固定的數字。看看

org.springframework.batch.repeat.CompletionPolicy 

而不是一個提交間隔,並利用isComplete方法來評估記錄和它是否應該提交塊。