Spring Cloud Stream App Starters

Spring Cloud Stream Application Starters are Spring Boot based Spring Integration applications that provide integration with external systems. Spring Cloud Stream Applications can be used with Spring Cloud Data Flow to create, deploy, and orchestrate message-driven microservice applications.

Quick Start
Fork me on GitHub

Spring Cloud Stream Application Starters are standalone executable applications that communicate over messaging middleware such as Apache Kafka and RabbitMQ. These applications can run independently on variety of runtime platforms including: Cloud Foundry, Apache Yarn, Apache Mesos, Kubernetes, Docker, or even on your laptop.


  • Run standalone as Spring Boot applications
  • Compose microservice as streaming pipelines in Spring Cloud Data Flow
  • Consume microservice applications as maven or docker artifacts
  • Override configuration parameters via command-line, environment variables, or YAML file
  • Provide infrastructure to test the applications in isolation
  • Download as starters from this version of Spring Initializr

Available Applications

Source Processor Sink
file aggregator aggregate-counter
ftp bridge cassandra
gemfire filter counter
gemfire-cq groovy-filter field-value-counter
http groovy-transform file
jdbc header-enricher ftp
jms httpclient gemfire
load-generator pmml gpfdist
loggregator python-http hdfs
mail python-jython hdfs-dataset
mongodb scriptable-transform jdbc
mqtt splitter log
rabbit tasklaunchrequest-transform mongodb
s3 tcp-client mqtt
sftp tensorflow pgcopy
syslog transform rabbit
tcp twitter-sentiment redis-pubsub
tcp-client grpc router
time   s3
trigger   sftp
triggertask   task-launcher-cloudfoundry
twitterstream   task-launcher-local

Quick Start

Step 1 - Download the latest time-source application from here [eg: /2.1.0.RELEASE/time-source-kafka-2.1.0.RELEASE.jar]

Step 2 - Download the latest log-sink application from here [eg: /2.1.0.RELEASE/log-sink-kafka-2.1.0.RELEASE.jar]

Step 3 - Start Kafka

Step 4 - Run Time Source and Bind to ticktock Topic

java -jar time-source-kafka-***.jar --spring.cloud.stream.bindings.output.destination=ticktock

Step 5 - Run Log Sink and Bind to ticktock Topic

java -jar log-sink-kafka-***.jar --spring.cloud.stream.bindings.input.destination=ticktock

Step 6 - Verify ticktock ouput in log-sink console

Stream App Starters and Spring Cloud Data Flow (**)

With Spring Boot 2.1.x + Spring Cloud Stream 2.1.x:

Artifact Type Stable Release Snapshot Release
RabbitMQ + Maven https://dataflow.spring.io/rabbitmq-maven-latest https://dataflow.spring.io/Einstein-BUILD-SNAPSHOT-stream-applications-rabbit-maven
RabbitMQ + Docker https://dataflow.spring.io/rabbitmq-docker-latest https://dataflow.spring.io/Einstein-BUILD-SNAPSHOT-stream-applications-rabbit-docker
Apache Kafka + Maven https://dataflow.spring.io/kafka-maven-latest https://dataflow.spring.io/Einstein-BUILD-SNAPSHOT-stream-applications-kafka-maven
Apache Kafka + Docker https://dataflow.spring.io/kafka-docker-latest https://dataflow.spring.io/Einstein-BUILD-SNAPSHOT-stream-applications-kafka-docker

(**) find out how to use the app-starters in Spring Cloud Data Flow by reviewing the app-registration section in the reference guide

HTTP Repository Location for Apps

Versions: Boot / Stream Rabbit MQ Apache Kafka
Spring Boot 2.1.x / Spring Cloud Stream 2.1.x Stable Release / Latest Snapshot Stable Release / Latest Snapshot