我在 Spring Batch 中进行了第一步的简单配置:
<batch:job id="collaborationJob" >
<batch:step id="collaborationJobStep1">
<batch:tasklet>
<batch:chunk reader="collaborationAlertReader" processor="WriteCollaborationPruningProcessor" writer="alertCollaborationPruningWriter"
commit-interval="10">
</batch:chunk>
</batch:tasklet>
<batch:next on="*" to="collaborationJobStep2" />
<batch:next on="FAILED" to="collaborationJobStep4"/>
</batch:step>
Run Code Online (Sandbox Code Playgroud)
如果我在 itemReader 中读取的行数 < 10 一切都很好,但如果行数 >= 10 我进入重复循环:
2015-09-29 17:02:40,782 DEBUG [org.springframework.batch.core.step.tasklet.TaskletStep] - <Saving step execution before commit: StepExecution: id=1332, version=878, name=collaborationJobStep1, status=STARTED, exitStatus=EXECUTING, readCount=8780, filterCount=0, writeCount=8780 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=878, rollbackCount=0, exitDescription=>
2015-09-29 17:02:40,786 DEBUG [org.springframework.batch.repeat.support.RepeatTemplate] - <Repeat operation about to start at count=879>
2015-09-29 17:02:40,786 DEBUG [org.springframework.batch.core.scope.context.StepContextRepeatCallback] - <Preparing chunk execution for …Run Code Online (Sandbox Code Playgroud)