我可以在最新的Spring Batch中使用Quartz Scheduler 1.8.6吗?

时间:2018-11-14 15:13:04

标签: spring spring-batch quartz-scheduler

我要求在最新版本的Spring Batch中使用Quartz Scheduler v1.8.6。有些旧批处理作业使用Quartz Scheduler v1.8.6,但当前不使用Spring Batch。

我能够使用Quartz Scheduler v1.8.6和最新的Spring Batch v4.1.0来安排和运行一个简单的Spring Batch作业,但是必须在pom.xml中添加一个依赖项才能使用旧版本的spring-context -support v3.2.18.RELEASE。 spring-context-support提供了通往Quartz和v3.2.18的桥梁。RELEASE是最新版本,可以在我的测试代码中安排并运行简单的工作。

  1. 是否有文档列出了Spring Batch和Quartz Scheduler的兼容版本?
  2. 以这种方式使用旧的spring-context-support是一种完全不正确的方法吗?
  3. 我应该使用旧版的Spring Batch吗?我希望不必这样做,因为最新的Spring Batch似乎具有大量的强大功能。

1 个答案:

答案 0 :(得分:0)

  

在某处是否有文档列出了Spring Batch和Quartz Scheduler的兼容版本?

您可以在使用的Spring Batch版本的build.gradle文件中检查石英的版本。对于Spring Batch 4.1.0,您可以使用石英2.3.0。

如果您使用Spring Boot,则可以检查start.spring.io/actuator/info以获得有关通过Spring Boot导入时最能协同工作的spring项目版本的信息。例如,如果您使用Spring Boot版本2.1.0使用start.spring.io生成一个项目,并添加spring-boot-starter-batchspring-boot-starter-quartz入门程序,则将在其中获得Spring Batch 4.1.0和Quartz 2.3.0。您的课程路径。

  

以这种方式使用旧的spring-context-support是一种完全不正确的方法吗?

不是不正确(只要对您有效),但不推荐。

  • 如果使用使用Spring Boot,则将获得最新的spring-context版本(在以上示例中为5.1.2)。
  • 如果您使用Spring Boot,您仍然可以导入Spring Boot提供的maven BOM并让其为您导入版本。这比手动管理版本更好。
  

我应该使用旧版的Spring Batch吗?我希望不必这样做,因为最新的Spring Batch似乎具有大量的强大功能。

我不建议这样做。您可以坚持使用v4.1.0,因为它能够按照您所说的那样工作。 Spring v4.x需要Java 8,因此只要您使用的石英版本在Java 8上运行,它就能安排Spring Batch作业。

希望这会有所帮助。