Spring Cloud Task 和 Spring Batch 的区别?

Jef*_*ook 4 spring-batch spring-cloud-task

我浏览了Introducing Spring Cloud Task,但对于以下问题尚不清楚。

我正在使用 Spring Batch

  1. 当我们已经有了 Spring Batch 提供的元数据时,Spring Cloud Task有什么用?

  2. 我们计划使用 Spring Cloud Data Flow 来监控 Spring Batch。所有批处理作业都可以作为任务导入 SCDF 并可以在那里安排,但看不到对 MongoDB 的支持。希望 MySQL 运行良好。

Spring Cloud Task 和 Spring Batch 有什么区别?

Mah*_*ine 7

Spring Cloud Task 的范围比 Spring Batch 更广。它专为任何短期任务而设计,包括但不限于(Spring)批处理作业。短期任务可以是 Java 进程、shell 脚本、Docker 容器等。 Spring Cloud Task 有自己的元数据表来跟踪任务的进度/状态/统计信息。

在 Spring Batch 的上下文中,Spring Cloud Task 提供了许多附加功能:

  • 批处理信息性消息:能够根据 Spring Batch 侦听器事件发出消息。这些消息可以被流媒体应用程序使用,并使桥接任务和流媒体应用程序成为可能。
  • DeployerPartitionHandler:适用于云环境的附加分区处理程序,用于在远程分区设置中动态部署工作人员。

  • Spring Cloud Task 简化了将 Spring Batch 应用程序迁移到云环境的过程。正如 Mahmoud 所说,它适合与 Spring Batch 一起使用。为了在 SCDF 中启动 Spring Batch 作业,您需要添加 @EnableTask 注释。 (3认同)