use*_*955 2 java apache-kafka kafka-producer-api
我有一个 json 有效负载,我想在生产者 Api 中将其作为标头发送
{
"type": "record_created",
"version": 1,
"orgId": "",
"userId": "",
"userName": "",
"correlationId": "",
"jobId": ""
}
Run Code Online (Sandbox Code Playgroud)
以上有效载荷应作为标头发送
producer.send(new ProducerRecord<Integer, String>(topic, messageNo, records,header)
Run Code Online (Sandbox Code Playgroud)
我们应该怎么做 ?
有两种方式
1) getHeaders 并添加 Header
ProducerRecord<Integer, String> record = new ProducerRecord<Integer, String>("topic", 1, "message");
record.headers().add(new RecordHeader("type", "record_created".getBytes()));
record.headers().add(new RecordHeader("type", "record_created".getBytes()));
producer.send(record);
Run Code Online (Sandbox Code Playgroud)
2) 使用ProducerRecord(String topic, Integer partition, K key, V value, Iterable headers)
但这样你必须决定分区 - 否