Sherwin Chiu created KAFKA-7585:
-----------------------------------
Summary: Avoid classloader when passing serializers to
KafkaProducer constructors
Key: KAFKA-7585
URL: https://issues.apache.org/jira/browse/KAFKA-7585
Project: Kafka
Issue Type: Improvement
Components: producer
Affects Versions: 2.0.0
Reporter: Sherwin Chiu
When using
{quote}{{public KafkaProducer(Properties properties, Serializer<K>
keySerializer, Serializer<V> valueSerializer)}}
{quote}
I was surprised to run into the following error.
{quote}{{Class org.apache.kafka.common.serialization.StringSerializer could not
be found.}}
{quote}
Is there a reason why KafkaProducer needs to reload the class I already passed
in? I was expecting this constructor to function similarly to
{quote}{{public KafkaProducer(Map<String, Object> configs, Serializer<K>
keySerializer, Serializer<V> valueSerializer)}}
{quote}
Why not convert/cast the Properties to a Map<String, Object> and add the
serializers just like the Map config constructor? I see that it's trying to
keep the Properties construct. Is there a reason for this?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)