为什么我的提交间隔不起作用?
Why my commit-interval is not working?
我已将提交间隔设置为 1000 。但是,它不起作用。尽管如此,我仍会以随机间隔将项目发送给我的项目作者。请指教
<batch:step id="step1" next ="step2">
<batch:tasklet task-executor="simpleTaskExecutor" throttle-limit="20">
<batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="1000" />
<batch:listeners>
<batch:listener ref="appJobExecutionListener" />
<batch:listener ref="appJobFailureLoggerListener" />
<batch:listener ref="customStepListener" />
</batch:listeners>
</batch:tasklet>
</batch:step>
您正在使用异步执行器。 (猜测,你没有在配置中显示)async executor设置为20,这意味着你最多可以有20个线程并行执行。
如果你想读取记录直到提交间隔,然后一次处理一个块,你应该从配置中删除任务执行器
我已将提交间隔设置为 1000 。但是,它不起作用。尽管如此,我仍会以随机间隔将项目发送给我的项目作者。请指教
<batch:step id="step1" next ="step2">
<batch:tasklet task-executor="simpleTaskExecutor" throttle-limit="20">
<batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="1000" />
<batch:listeners>
<batch:listener ref="appJobExecutionListener" />
<batch:listener ref="appJobFailureLoggerListener" />
<batch:listener ref="customStepListener" />
</batch:listeners>
</batch:tasklet>
</batch:step>
您正在使用异步执行器。 (猜测,你没有在配置中显示)async executor设置为20,这意味着你最多可以有20个线程并行执行。
如果你想读取记录直到提交间隔,然后一次处理一个块,你应该从配置中删除任务执行器