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.

Features

  • 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 bridge aggregate-counter
ftp filter cassandra
gemfire groovy-filter counter
gemfire-cq groovy-transform field-value-counter
http httpclient file
jdbc pmml ftp
jms scriptable-transform gemfire
load-generator splitter gpfdist
loggregator tcp-client hdfs
mail transform hdfs-dataset
mongodb   jdbc
rabbit   log
s3   rabbit
sftp   redis-pubsub
syslog   router
tcp   s3
tcp-client   sftp
time   task-launcher-local
trigger   task-launcher-yarn
triggertask   tcp
twitterstream   throughput
    websocket

Quick Start

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

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

Step 3 - Start Kafka 0.10.1.0

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 Logs in Console

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

Artifact Type Stable Release SNAPSHOT Release
RabbitMQ + Maven http://bit.ly/Avogadro-SR1-stream-applications-rabbit-maven http://bit.ly/Bacon-BUILD-SNAPSHOT-stream-applications-rabbit-maven
RabbitMQ + Docker http://bit.ly/Avogadro-SR1-stream-applications-rabbit-docker NA
Apache Kafka 0.9 + Maven http://bit.ly/Avogadro-SR1-stream-applications-kafka-09-maven http://bit.ly/Bacon-BUILD-SNAPSHOT-stream-applications-kafka-09-maven
Apache Kafka 0.10 + Maven http://bit.ly/Avogadro-SR1-stream-applications-kafka-10-maven http://bit.ly/Bacon-BUILD-SNAPSHOT-stream-applications-kafka-10-maven
Apache Kafka 0.9 + Docker http://bit.ly/Avogadro-SR1-stream-applications-kafka-09-docker NA
Apache Kafka 0.10 + Docker http://bit.ly/Avogadro-SR1-stream-applications-kafka-10-docker NA

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