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 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   router
time   s3
trigger   sftp
triggertask   task-launcher-cloudfoundry
twitterstream   task-launcher-local
    task-launcher-yarn
    tcp
    throughput
    websocket

Quick Start

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

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

Step 3 - Start Kafka 0.10.1.1

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/Milestone Release
RabbitMQ + Maven http://bit.ly/Bacon-RELEASE-stream-applications-rabbit-maven http://bit.ly/Celsius-M1-stream-applications-rabbit-maven
RabbitMQ + Docker http://bit.ly/Bacon-RELEASE-stream-applications-rabbit-docker http://bit.ly/Celsius-M1-stream-applications-rabbit-docker
Apache Kafka 0.9 + Maven http://bit.ly/Bacon-RELEASE-stream-applications-kafka-09-maven http://bit.ly/Bacon-BUILD-SNAPSHOT-stream-applications-kafka-09-maven
Apache Kafka 0.10 + Maven http://bit.ly/Bacon-RELEASE-stream-applications-kafka-10-maven http://bit.ly/Celsius-M1-stream-applications-kafka-10-maven
Apache Kafka 0.9 + Docker http://bit.ly/Bacon-RELEASE-stream-applications-kafka-09-docker http://bit.ly/Bacon-BUILD-SNAPSHOT-stream-applications-kafka-09-docker
Apache Kafka 0.10 + Docker http://bit.ly/Bacon-RELEASE-stream-applications-kafka-10-docker http://bit.ly/Celsius-M1-stream-applications-kafka-10-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

RabbitMQ + Maven

Apache Kafka 0.9 + Maven

Apache Kafka 0.10 + Maven