[ https://issues.apache.org/jira/browse/KAFKA-13864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
François Rosière updated KAFKA-13864: ------------------------------------- Description: To allow implementing Spring managed interceptors for producers and consumers, [https://github.com/spring-projects/spring-kafka/issues/2244] The following changes should be applied in Kafka Create 2 new constructors in _KafkaProducer_ {code:java} public KafkaProducer(ProducerConfig config) public KafkaProducer(ProducerConfig config, Serializer<K> keySerializer, Serializer<V> valueSerializer) {code} and create a new constructor + increase the visibility of an existing constructor in _KafkaConsumer_ {panel} public KafkaConsumer(ConsumerConfig config) public KafkaConsumer(ConsumerConfig config, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer){panel} The 2 following constructors will also be added into the _TopologyTestDriver_ {code:java} public TopologyTestDriver(Topology topology, StreamsConfig config) public TopologyTestDriver(Topology topology, StreamsConfig config, Instant initialWallClockTime) {code} {panel} {panel} |{{}}| More details can be found in the related KIP https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211882578 was: To allow implementing Spring managed interceptors for producers and consumers, [https://github.com/spring-projects/spring-kafka/issues/2244] a new constructor should be added in KafkaProducer {code:java} public KafkaProducer(ProducerConfig config, Serializer<K> keySerializer, Serializer<V> valueSerializer){code} the visibility of one constructor of KafkaConsumer should also move from default to public. {code:java} public KafkaConsumer(ConsumerConfig config, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer) {code} see the current implementation https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java#L671 This issue is quite blocking , so, any other alternative or proposal would be more than welcome. Kafka streams is not concerned by this issue as the KafkaStreams object is already exposing a constructor taking a StreamsConfig object. Thanks for considering this issue. > Change the visibility of a KafkaProducer and KafkaConsumer constructor > ---------------------------------------------------------------------- > > Key: KAFKA-13864 > URL: https://issues.apache.org/jira/browse/KAFKA-13864 > Project: Kafka > Issue Type: Improvement > Components: clients > Affects Versions: 3.1.0 > Reporter: François Rosière > Assignee: lqjacklee > Priority: Major > Labels: needs-kip > > To allow implementing Spring managed interceptors for producers and consumers, > [https://github.com/spring-projects/spring-kafka/issues/2244] > The following changes should be applied in Kafka > Create 2 new constructors in _KafkaProducer_ > {code:java} > public KafkaProducer(ProducerConfig config) > public KafkaProducer(ProducerConfig config, Serializer<K> keySerializer, > Serializer<V> valueSerializer) {code} > and create a new constructor + increase the visibility of an existing > constructor in _KafkaConsumer_ > {panel} > public KafkaConsumer(ConsumerConfig config) > public KafkaConsumer(ConsumerConfig config, Deserializer<K> keyDeserializer, > Deserializer<V> valueDeserializer){panel} > The 2 following constructors will also be added into the _TopologyTestDriver_ > {code:java} > public TopologyTestDriver(Topology topology, StreamsConfig config) > public TopologyTestDriver(Topology topology, StreamsConfig config, Instant > initialWallClockTime) {code} > {panel} > {panel} > |{{}}| > More details can be found in the related KIP > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211882578 > -- This message was sent by Atlassian Jira (v8.20.7#820007)