Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 2.57 KB

README.adoc

File metadata and controls

98 lines (67 loc) · 2.57 KB

Camel Kafka example

Introduction

An example which shows how to integrate Camel with Kafka.

This project consists of the following examples:

  1. Send messages continuously by typing on the command line.

  2. Example of partitioner for a given producer.

  3. Topic is sent in the header as well as in the URL.

Preparing Kafka

This example requires that Kafka Server is up and running. For this, assuming that environment variable KAFKA has been set to the home directory of the Kafka distribution, you will need to start ZooKeeper and a Kafka Broker thanks to the next commands:

On Windows run

$ %KAFKA%\bin\windows\zookeeper-server-start.bat ${KAFKA}/config/zookeeper.properties
$ %KAFKA%\bin\windows\kafka-server-start.bat ${KAFKA}/config/server.properties

On linux run

$ ${KAFKA}/bin/zookeeper-server-start.sh ${KAFKA}/config/zookeeper.properties
$ ${KAFKA}/bin/kafka-server-start.sh ${KAFKA}/config/server.properties

You will need to create following topics before you run the examples.

On Windows run

$ %KAFKA%\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 2 --topic TestLog
$ %KAFKA%\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic AccessLog

On linux run

$ ${KAFKA}/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 2 --topic TestLog
$ ${KAFKA}/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic AccessLog

Build

You will need to compile this example first:

$ mvn compile

Run

Run the consumer first in a shell

$ mvn exec:java -Pkafka-consumer

Run the message producer in a separate shell

$ mvn exec:java -Pkafka-producer

Initially, some messages are sent programmatically. On the command prompt, type the messages. Each line is sent as one message to kafka Press Ctrl+C to exit.

Configuration

You can configure the details in the file: src/main/resources/application.properties

You can enable verbose logging by adjusting the src/main/resources/log4j2.properties file as documented in the file.

Help and contributions

If you hit any problem using Camel or have some feedback, then please let us know.

We also love contributors, so get involved :-)

The Camel riders!