尽管预定时间为5分钟,但Spring Batch Job阅读器仍在连续运行

时间:2017-05-30 19:10:21

标签: java spring spring-mvc batch-file spring-batch

我已使用

配置了Spring Batch作业
        triggerBean.setCronExpression(task.getCronExpression());
        triggerBean.setStartTime(task.getStartTime());
        LOG.info("Scheduling task {} to {}", task.getTaskName(), task.getCronExpression());
        scheduler.scheduleJob(jobBean, triggerBean);

现在我有一个阅读器,它读取了100个db行,然后提取列表并将其提供给writer,现在我的编写器用来处理一些列表条目,比如读者提供的50个列表。工作安排在10分钟后,但我观察到读者正在无限地运行。

另一个例子: 假设我的Reader读取状态为column = 1 and count = 4的1个db行,并将其写入编写器,并且我已实现writer以删除带有column = 1 and count =5的行条目。对于这种情况,我的读者不断运行并为作者一次又一次地提供相同的数据,但作者无法处理它,因此这会给读者带来无限循环。 请说明这里的问题是什么,可能是什么解决方案。

注意:提出了另一张票,但我不确定可能是什么问题。 看看吧。

Spring Batch Job Running in Infinite loop

1 个答案:

答案 0 :(得分:0)

如果您使用自己的阅读器,则在完成从数据库中读取所有记录后,您需要在阅读器中返回null。请检查您的自定义阅读器。