首页 > 解决方案 > Spring Batch / Spring Batch 管理系统升级

问题描述

我们有一个跨集群中的 10 台服务器运行的 JEE 应用程序。它利用 Spring Batch (2.2.7) 和 Spring Batch Admin(基于 1.3.0,稍作修改)每晚执行大约 100 个作业。批处理作业执行的控制是通过 spring batch admin rest API。大约一半的作业是分区的,将负载分布在集群周围。

现在我们正在考虑迁移到新的 Spring 版本以取代 JEE 技术并使用 Spring Data(JPA) 等。然而,由于各种原因,我们打算保持单体方法在服务器集群上运行。

我正在调查 Spring Batch / Spring Batch Admin 前端的最佳前进路径。我想迁移到 Spring Batch 4.1。其中一些问题是:

Spring Batch Admin 怎么办?由于我们的应用程序结构,我认为我们不想走 Spring Cloud Flow 的方向。我看到有一个基于新技术的 2.0M 版本的 Spring Batch Admin github。

我正在寻找有关方法的建议和前进的可能陷阱。

谢谢

标签: spring-batchspring-batch-admin

解决方案


在下面解决您的一些问题:

  • 您指的是什么数据库架构更改?2.2.x 版本的元数据模式看起来与4.1.x 版本的元数据模式相同。
  • Spring Boot 支持使用 config 禁用启动时自动执行spring.batch.job.enabled=false
  • 支持 XML 配置文件 - 事实上,它们在 Spring Batch 中比在其他 Spring 项目中更受欢迎,以至于文档提供了 Java 和 XML 配置示例。
  • 不需要 XML 配置文件迁移。xsd自早期版本以来的所有文件都包含在 spring-batch-core jar中,实际上即使在 Spring Batch 4 中,默认值spring-batch.xsd 也是来自版本 3的文件(版本 4 中没有新文件)。
  • Spring Batch Admin已于2017 年 12 月 31 日达到使用寿命。标签已在2.0.0.M1大约 4 年前被剪掉。正如它在一些地方所记录的那样,正在用明确的迁移指南Spring Batch Cloud Data Flow替换它。但是没有什么能阻止您继续用于监控目的,因为它基于未更改的元数据模式。我已经使用过它,它可以很好地用于 Spring Batch 3 和 Spring Batch 4 版本的监控。Spring Batch Admin

推荐阅读