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)