我有一个带有平面文件的弹簧批量应用程序作为项目阅读器。此单位包含两种不同类型的记录。在我的chunk的定义中,我必须指定一个动态提交间隔。每次应用程序读取新类型的记录时都必须提交。
示例:
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
我该怎么做?
答案 0 :(得分:1)
CompletionPolicy旨在完成此用例。也就是说,您希望基于标准提交,而不仅仅是固定数字。看看
org.springframework.batch.repeat.CompletionPolicy
而不是commit-interval并利用isComplete方法来评估记录以及是否应该提交块。