Spring XD Samples
This repository provides sample starter applications and code for use with the Spring XD project. The following samples are available:
analytics-dashboard
Standalone project which shows how you can use the D3 Javascript library to create visualizations for Spring XD counters.
analytics-pmml
Demonstrates the use of the analytics-pmml module by sending JSON data describing a Iris flower to an http source and using a PMML model to predict the species of Iris.
batch-basic
Shows how to deploy a simple Spring Batch process in Spring XD, without having to compile any code or install any jars.
batch-notifications
This sample will take an input file containing payment data, and import the data into a database using Spring XD's batch job support. During import, various notification events are triggered and printed to the console.
batch-hashtag-count
This sample will take an input file with Twitter JSON data and count the occurrences of hashtags.
batch-simple
This is the quintessential Hello World example for Spring XD. It consists of only one Spring Batch Tasklet which prints out Hello Spring XD!
.
batch-wordcount
This is the Spring Batch word-count sample for Hadoop adapted for Spring XD. This sample will take an input file and count the occurrences of each word within that document.
groovy-script-sink
A custom module that illustrates how to bind variables defined as module options to a groovy script.
hdfs-partitioning
Demonstrates the hdfs sink and its partitioning features.
kafka-message-bus
This sample walks you through setting up Kafka as a message bus for Spring XD, also demonstrating partitining and failover.
kafka-source
This sample walks you through setting up a Kafka source in Spring XD, also demonstrating the use of multiple modules for ingestion efficiency.
payload-conversion
This sample project implements a custom processor and demonstrates the use of the Tuple data type.
pivotal-hd-demo
Demo using Spring XD with Pivotal HD.
reactor-moving-average
A custom module that uses Reactor's Stream API to perform stream analysis.
reactor-tcp
Demonstrates the use of Reactor's TCP input source
redis-store-sink
A simple custom sink module project implementing a Redis store, including integration tests.
rss-feed-source
A simple custom source module project implementing an RSS feed, including integration tests.
rxjava-moving-average
A custom module that uses RxJava's Observable API to perform stream analysis.
si-dsl-module
This sample demonstrates how to create a custom module project, including integration tests, and packaging the module as an uber-jar using maven (requires Spring XD 1.1.x). The project also demonstrates the use of the Spring Integration Java DSL
smartgrid-prediction
This sample showcases a fictional use of Spring XD in the context of smart electricity metering and production. It was inspired by the http://www.cse.iitb.ac.in/debs2014/?page_id=42[ACM Distributed Event Based Systems Grand Challenge 2014].
syslog
This sample demonstrates how to setup syslog ingestion from multiple hosts into HDFS.
tweet-transformer-processor
A simple custom processor module project, including integration tests. This one has no external dependencies other than the processor implementation and Spring configuration which is provided either as XML or @Configuration.