This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # Fixed URLs ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to: https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200). * [ ] http://www.apache.org/licenses/LICENSE-2.0 with 91 occurrences migrated to: https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
Spring Cloud Stream Polled Consumer with Embedded Kafka Broker Sample
In this Spring Cloud Stream sample, an embedded kafka broker is used for testing a polled consumer.
Requirements
To run this sample, you will need to have installed:
- Java 8 or Above
Code Tour
This sample is a Spring Boot application that uses Spring Cloud Stream to receive a String message and forward an upper case version of that String; it uses the Kafka binder.
It uses a Polled Consumer (rather than a message-driven @StreamListener).
- PolledConsumerApplication - the Spring Boot Main Application
- PolledConsumerApplicationTests - the test case
The spring-kafka-test dependency added to the pom.xml puts the KafkaEmbedded JUnit @Rule on the class path.
Refer to the Spring for Apache Kafka Reference Manual for more information about this.
Notice how the @BeforeClass method sets up the Boot and binder properties to locate the servers.
See the test method for the details on interacting with Embedded Kafka. The test method starts by sending a message to the input destination. It then creates a consumer to consume from the output destination; gets the output message and asserts that it's an upper case version of the sent message.
Building with Maven
Build the sample and run the test by executing:
./mvnw clean package
or run the test in your favorite IDE.
=== Running the app:
Go to the root of the repository and do:
docker-compose up -d
./mvnw clean package
java -jar target/polled-consumer-0.0.1-SNAPSHOT.jar
Then send/receive messages to/from the topics.
$ docker exec -it kafka-polledconsumer /opt/kafka/bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic polledConsumerIn
On another terminal:
and
$ docker exec -it kafka-polledconsumer /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic polledConsumerOut --from-beginning
Once you are done testing, stop the Kafka cluster: docker-compose down