kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Wessendorf <mat...@apache.org>
Subject Builder Pattern for kafka-clients in 2.x ?
Date Wed, 04 Jul 2018 13:42:13 GMT

I was filing KAFKA-7059 ([1]) and sent a PR adding a new ctor:
public ProducerRecord(String topic, K key, V value, Iterable<Header>

One reasonable comment on the PR was instead of doing constructor
overloading, why not working on a builder for the ProducerRecord class.

I think this is generally a nice idea I was wondering if there is much
interest in ?

final ProducerRecord<String, String> myRecord = ProducerRecord.builder() //
or an exposed builder

While at it - instead of just offering a builder for the "ProducerRecord"
class, why not adding a builder for the "KafkaProducer" and "KafkaConsumer"

final KafkaProducer<String, String> myProducer = KafkaProducer.builder() //
or an exposed builder clazz

to even make the above more nice, I think the "ProducerConfig" (analog the
ConsumerConfig) configuration options could be also made accesible w/ this
fluent API - instead of properties/map, which is what now dominates the
creation of the Consumers/Producers.

Any thoughts?   If there is interest, I am happy to start a KIP w/ a first
draft of the suggested API!


[1] https://issues.apache.org/jira/browse/KAFKA-7059

Matthias Wessendorf

github: https://github.com/matzew
twitter: http://twitter.com/mwessendorf

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message