Allen Wang created FLINK-11319:
----------------------------------
Summary: Allow usage of custom implementation of Kafka Producer and Consumer in source and sink
Key: FLINK-11319
URL:
https://issues.apache.org/jira/browse/FLINK-11319 Project: Flink
Issue Type: Improvement
Components: Kafka Connector
Reporter: Allen Wang
We use our own implementation of Kafka producer and consumer in our cloud environment for better integration with our infrastructure. The {{Consumer}} and {{Producer}} interfaces are properly implemented, but the implementation does not extend {{KafkaConsumer}} or {{KafkaProducer}}. Instead, it wraps and decorates the instance of the default Kafka implementation.
I propose the following changes to make it easy to hook up our own implementation with Flink.
* Refer to {{Consumer}} and {{Producer}} interface, not {{KafkaConsumer}} or {{KafkaProducer}} in {{FlinkKafkaInternalProducer}} and {{KafkaConsumerThread}}
* Add {{ConsumerBuilder}} and {{ProducerBuilder}} interface with the following definition
{code:java}
// ProducerBuilder
Producer<K, V> build(Properties properties)
// ConsumerBuilder
Consumer<byte[], byte[]> build(Properties properties){code}
* Add new constructors in {{FlinkKafkaProducer}} and {{FlinkKafkaConsumer}} to pass in the {{ProducerBuilder}} and {{ConsumerBuilder}}.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)