== 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

[source,sh]
----
$ %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

[source,sh]
----
$ ${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

[source,sh]
----
$ %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

[source,sh]
----
$ ${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:

[source,sh]
----
$ mvn compile
----

=== Run

Run the consumer first in a shell

[source,sh]
----
$ mvn exec:java -Pkafka-consumer
----

Run the message producer in a separate shell

[source,sh]
----
$ 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 https://camel.apache.org/community/support/[let us know].

We also love contributors, 
so https://camel.apache.org/community/contributing/[get involved] :-)

The Camel riders!
