== Camel Vertx Kafka example

=== Introduction

An example which shows how to integrate Camel with Kafka using Camel Vertx Kafka component. It is mainly based on Camel Kafka example.

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

The easiest way to get Kafka up and running for _dev_ environment, is to use Confluent Local Community setup, you can set it up using the instructions https://docs.confluent.io/platform/current/quickstart/ce-quickstart.html#ce-quickstart[here].

Once you have done with the setup, start Kafka using this command:
```
confluent local services start
```

When you are done from the example, you can stop kafka with this command:
```
confluent local services stop
```

We don't need to create the topics here as the Confluent dev environment configured to create topics automatically once the producer has started to produce messages to Kafka.

=== Build

You will need to compile this example first:

    $ mvn compile

=== Run

Run the consumer first in separate shell 

    $ mvn compile exec:java -Pkafka-consumer

Run the message producer in the seperate shell

    $ mvn compile 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!
