I think we would need an API call bridge (`KafkaConsumerBridge` and `KafkaProducerBridge`) and a factory for these (`KafkaBridgeFactory`). Those interfaces are defined in the base package, and they basically have a method for all the methods that we want to use on the consumer or producer. The source/sink (for example the Fetcher) are implemented against those interfaces. Specific version implementations then only need to provide implementations for those. Thus cleanly separating things. With this, we don't need any Kafka dependency in the base package.
[ Full content available at: https://github.com/apache/flink/pull/6577 ] This message was relayed via gitbox.apache.org for [email protected]
