消费kafka消息怎么一块消费到value和key
时间: 2024-03-17 15:40:20 浏览: 88
在 Kafka 中,消费者通过订阅一个或多个主题来消费消息。当消费者从 Kafka 中获取到消息时,消息的 key 和 value 是分开存储的,可以通过 ConsumerRecord 类的 key() 和 value() 方法获取到。因此,消费者可以将 key 和 value 一起消费。
以下是一个使用 Kafka Consumer API 消费消息的示例代码,可以一起消费 key 和 value:
```java
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test-group");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("test-topic"));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for (ConsumerRecord<String, String> record : records) {
String key = record.key();
String value = record.value();
System.out.printf("key = %s, value = %s%n", key, value);
}
}
```
在上述示例代码中,我们通过 ConsumerRecord.key() 和 ConsumerRecord.value() 方法一起消费了消息的 key 和 value。同时,我们使用了 KafkaConsumer.subscribe() 方法订阅了一个名为 "test-topic" 的主题,并通过 KafkaConsumer.poll() 方法从 Kafka 中获取消息。
阅读全文