34 lines
1.2 KiB
Plaintext
34 lines
1.2 KiB
Plaintext
== Spring Cloud Stream Multi-binder Application with Different Systems (Kafka on the inbound and RabbitMQ on the outbound)
|
|
|
|
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 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`
|