Search code examples
javadatabasespringrabbitmqspring-cloud-dataflow

Spring Cloud Data Flow: is it possible to run without any messaging middle-ware (kafka/rabbit) or with a db nstead of a queue?


I am new to Spring Cloud Data flow and I've been reading through the tutorials, trying to set up a project locally. (https://dataflow.spring.io/docs/installation/local/manual/)

Am I right to assume that a queuing system is a prerequisite for the servers to run?

How is this messaging middle-ware used by the data flow server and by the skipper server? Is there a way to use a db to store state instead of passing it from one app to the next using a queue?


Solution

  • You can run it without messaging middleware. In that case the streams features are disabled, but you can still work with Spring Cloud tasks and Spring Batch jobs.

    Essentially, in such a setup you only need the dataflow server and a database (i.e. MySQL).

    To do so, just set the feature toggle spring.cloud.dataflow.features.streams-enabled to false. See also: https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#configuration-local

    Hope that helps!