Skip to content

Latest commit

 

History

History

quartz-source

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Camel-Kafka-connector Quartz Source

This is an example for Camel-Kafka-connector Quartz Source

Standalone

Running Kafka

$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
$KAFKA_HOME/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytopic

Download the connector package

Download the connector package tar.gz and extract the content to a directory. In this example we’ll use /home/oscerd/connectors/

> cd /home/oscerd/connectors/
> wget https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-quartz-kafka-connector/0.11.5/camel-quartz-kafka-connector-0.11.5-package.tar.gz
> untar.gz camel-quartz-kafka-connector-0.11.5-package.tar.gz

We are now ready

Configuring Kafka Connect

You’ll need to set up the plugin.path property in your kafka

Open the $KAFKA_HOME/config/connect-standalone.properties and set the plugin.path property to your choosen location:

...
plugin.path=/home/oscerd/connectors
...

Setup the connectors

Open the Cron configuration file at $EXAMPLES/quartz/quartz-source/config/CamelQuartzSourceConnector.properties

name=CamelQuartzSourceConnector
connector.class=org.apache.camel.kafkaconnector.quartz.CamelQuartzSourceConnector
tasks.max=1

key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter

topics=mytopic

camel.source.path.groupName=Camel
camel.source.path.triggerName=quartz-sample
camel.source.endpoint.cron=0/5+*+*+*+*+?

In this case we are using local unix socket.

For the containerId you’ll need to use the value of the running debian container.

Running the example

Run the kafka connect with the Quartz Source connector:

$KAFKA_HOME/bin/connect-standalone.sh $KAFKA_HOME/config/connect-standalone.properties $EXAMPLES/quartz/quartz-source/config/CamelQuartzSourceConnector.properties

We’ll get multiple message with statistics

On a different terminal run the kafkacat consumer

./kafkacat -b localhost:9092 -t mytopic -f 'Headers: %h: Message value: %s\n'
% Auto-selecting Consumer mode (use -P or -C to override)
% Reached end of topic quartz-topic1 [0] at offset 0
Headers: CamelHeader.fireTime=2021-02-04T18:25:35.550Z,CamelHeader.jobRunTime=11,CamelHeader.nextFireTime=2021-02-04T18:25:40.000Z,CamelHeader.refireCount=0,CamelHeader.scheduledFireTime=2021-02-04T18:25:35.000Z,CamelHeader.triggerGroup=Camel,CamelHeader.triggerName=quartz-sample,CamelProperty.CamelToEndpoint=direct://end?pollingConsumerBlockTimeout=0&pollingConsumerBlockWhenFull=true&pollingConsumerQueueSize=1000: Message value:
% Reached end of topic mytopic [0] at offset 1