Javier Holguera created CAMEL-16071:
---------------------------------------

             Summary: Support custom Kafka client instances
                 Key: CAMEL-16071
                 URL: https://issues.apache.org/jira/browse/CAMEL-16071
             Project: Camel
          Issue Type: Improvement
          Components: camel-kafka
            Reporter: Javier Holguera
             Fix For: 3.x


The camel-kafka component instantiates Kafka client instances (e.g., 
KafkaConsumer and KafkaProducer) directly. This prevents users to leverage 
their own custom implementations for them. Kafka Streams library solved this 
issue a long time ago (see https://issues.apache.org/jira/browse/KAFKA-3616) 
adding the ability to pass a factory of Kafka clients to the Streams processor.

Steps for implementation:
 # Add a new `KafkaClientFactory` interface with methods to get instances of 
Kafka's `KafkaConsumer` and `KafkaProducer`.
 # Add a default implementation `DefaultKafkaClientFactory` that instantiates 
both as they are at the moment inside the Camel's `KafkaConsumer` and 
`KafkaProducer` (simply calling `new` with a `Properties` object).
 # Add a new 'KafkaClientFactory' configuration option that defaults to 
`DefaultKafkaClientFactory`.
 # Use this factory inside Camel's `KafkaConsumer` and `KafkaProducer` (instead 
of doing a `new` directly).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to