A sample project to demonstrate Spring Cloud Stream (Source => Processor => Sink) asynchronous communication
- The project is configured to run with profiles :
rabbit(Rabbit Binder)kafka(Kafka Binder)artemis(ActiveMQ Artemis Binder)
- Java 8
- Maven 3
- Spring Boot: 1.5.9.RELEASE
- RabbitMQ 3.7.2
- Apache Kafka Client 0.10.2
- ActiveMQ Artemis 2.4.0
- The following figure describe the global overview of the pipeline
$ ${publisher} mvn spring-boot:run -Dspring.profiles.active=rabbit
$ ${processor} mvn spring-boot:run -Dspring.profiles.active=rabbit
$ ${subscriber} mvn spring-boot:run -Dspring.profiles.active=rabbit$ ${publisher} mvn spring-boot:run -Dspring.profiles.active=kafka
$ ${processor} mvn spring-boot:run -Dspring.profiles.active=kafka
$ ${subscriber} mvn spring-boot:run -Dspring.profiles.active=kafka$ ${publisher} mvn spring-boot:run -Dspring.profiles.active=artemis
$ ${processor} mvn spring-boot:run -Dspring.profiles.active=artemis
$ ${subscriber} mvn spring-boot:run -Dspring.profiles.active=artemis- Add Pojo Support
Add Docker Compose file for Kafka/Rabbit/ArtemisAdd Support to ActiveMQ Artemis 2.4.0 through Artemis binder- [Optional]
Upgrade to Spring Boot 2.0.0.RC1 and Kafka Client 1.0.0(fixed in spring-boot-2.0.0.RC1 branch)