Files
spring-cloud-stream-samples/multibinder-samples/multibinder-kafka-rabbit
Soby Chacko 267b58d7b4 Unify the artifacts under same groupId
All sample artifacts are now published under io.spring.cloud.stream.sample groupId
Renaming the artifacts to uniquely identify them as they will be published to snapshots repository

Resolves #89
2018-08-15 18:34:00 -04:00
..
2018-03-09 10:47:22 -05:00
2018-03-09 10:47:22 -05:00
2018-03-09 10:47:22 -05:00
2018-03-09 10:47:22 -05:00
2018-08-15 18:34:00 -04:00
2018-03-09 10:47:22 -05:00

== Spring Cloud Stream Multibinder Application with Different Systems

This example shows how to run a Spring Cloud Stream application with two different binder types (Kafka and RabbitMQ)

## Running the application

The following instructions assume that you are running Kafka and RabbitMQ as a Docker images.

Go to the application root:

* `docker-compose up -d`

This brings up both Kafka and RabbitMQ clusters in docker containers.
Local ports mapped are 9092 and 5672 for Kafka and RabbitMQ respectively.

* `./mvnw clean package`

The sample comes with a convenient test producer and consumer to see the processor in action.
After running the program, watch your console, every second some data is sent to Kafka and it is received through RabbitMQ.

```
java -jar target/multibinder-0.0.1-SNAPSHOT.jar
```

You can also send data directly to Kafka topic:

`docker exec -it kafka-multibinder /opt/kafka/bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic dataIn`

Enter some text and verify it comes through the console output (test consumer)

You can also go the RabbitMQ UI: `http:localhost:15672`

Once you are done testing: `docker-compose down`