Dan*_* P. 1 serialization apache-kafka
我有一个 kakfa 生产者,我不需要序列化键,只需序列化值。但生产者配置需要“key.serializer”设置。
Map<String, Object> producerConfig = new HashMap<>();
producerConfig.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
Run Code Online (Sandbox Code Playgroud)
当配置了实际上未使用的随机设置时,我发现它很令人困惑。
有没有办法不设置“key.serializer”设置来表示没有密钥序列化?
没有选项表明该密钥将被需要null或key.serializer不需要。
KafkaProducer不知道ProducerRecord将传递的 key 和/或 value 是否设置为null,因此必须传递序列化器。
没有密钥就无法发送消息。即使您使用以下构造函数:ProducerRecord(String topic, V value)。它在幕后设置了一个键 ( null):
public ProducerRecord(String topic, V value) {
this(topic, null, null, null /* key */, value, null);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10352 次 |
| 最近记录: |