Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Spring Cloud Task and Spring Batch?

I went through the Introducing Spring Cloud Task, but things are not clear for the following questions.

I'm using Spring Batch

  1. What's the use of Spring Cloud Task when we already have the metadata provided by Spring Batch ?

  2. We're planning to use Spring Cloud Data Flow to monitor the Spring Batch. All the batch jobs can be imported into the SCDF as task and can be scheduled there, but don't see support for MongoDB. Hope MySQL works well.

What is the difference between Spring Cloud Task and Spring Batch?

like image 870
Jeff Cook Avatar asked Jan 25 '23 02:01

Jeff Cook


1 Answers

Spring Cloud Task has a broader scope than Spring Batch. It is designed for any short lived task, including but not limited to (Spring) Batch jobs. A short lived task could be a Java process, a shell script, a Docker container, etc. Spring Cloud Task has its own meta-data tables to track the progress/status/stats of tasks.

In the context of Spring Batch, Spring Cloud Task provides a number of additional features:

  • Batch informational messages: ability to emit messages based on Spring Batch listeners events. Those messages can be consumed by streaming apps and make it possible to bridge tasks and streaming apps.
  • DeployerPartitionHandler: an additional partition handler that is suitable to cloud environments to dynamically deploy workers in a remote partitioning setup.
like image 193
Mahmoud Ben Hassine Avatar answered Feb 05 '23 06:02

Mahmoud Ben Hassine