如何使用控制台生成器在Kafka 0.11中生成带标题的消息?
我在Kafka文档中没有找到任何关于此的描述。
答案 0 :(得分:5)
使用kafka-console-producer.sh
工具(ConsoleProducer.scala
),您无法生成带标题的邮件。
您需要编写自己的小应用程序。创建Headers
时会传入ProducerRecord
。例如:
public static void main(String[] args) throws Exception {
Properties producerConfig = new Properties();
producerConfig.load(new FileInputStream("producer.properties"));
KafkaProducer<String, String> producer = new KafkaProducer<>(producerConfig);
List<Header> headers = Arrays.asList(new RecordHeader("header_key", "header_value".getBytes()));
ProducerRecord<String, String> record = new ProducerRecord<>("topic", 0, "key", "value", headers);
Future<RecordMetadata> future = producer.send(record);
future.get();
producer.close();
}
答案 1 :(得分:1)
您还可以使用kafkacat生成带有标题的消息。
kafkacat -P -b localhost:9092 -H "facilityCountryCode=US" -H "facilityNum=32619" -t test.topic.to.mq -f testkafkaproducerfile.json
有关更多信息,请检查github页面:https://github.com/edenhill/kafkacat