首页 > 解决方案 > 使用 Spring Boot 持续运行 Spring Batch 作业

问题描述

我必须编写一个批处理作业,它应该从数据库表中读取某些条目并处理并将其写入另一个表。每次工作完成时,我都必须等待 1 秒钟,然后开始从数据库读取和写入数据库,这应该会继续下去。请让我理解以下内容,

  1. 在作业完成后的监听器中使用 Thread.sleep 可以吗?
  2. 我仍在努力寻找重新开始工作的方法。请指导我找到一个好的方法。
  3. 我正在使用基于 Java 的配置。这里如何为读取器和写入器指定块(int)值?

谢谢。

标签: spring-bootspring-batch

解决方案


看看这个例子,它应该告诉你所有三个问题的答案:https ://github.com/joechev/examples/tree/master/fixed-delay-batch

  1. 你用 Thread.sleep 做什么?固定延迟?请参阅示例中的@EnableScheduling@Scheduled注释。

  2. 见(1)

  3. 请参阅示例中作业配置中的 CHUNK_SIZE 值。


推荐阅读