作为Kafka生产者如何查看已发送的消息
时间: 2024-02-16 20:05:29 浏览: 83
作为Kafka生产者,你可以通过设置回调函数来获取消息发送的结果。回调函数会在消息发送成功或者失败时被调用。
下面是一个示例代码:
```java
import org.apache.kafka.clients.producer.*;
import java.util.Properties;
public class ProducerExample {
public static void main(String[] args) {
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer = new KafkaProducer<>(props);
String topic = "test";
String key = "key1";
String value = "value1";
ProducerRecord<String, String> record = new ProducerRecord<>(topic, key, value);
producer.send(record, new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
if (exception != null) {
System.err.println("Failed to send message to Kafka: " + exception.getMessage());
} else {
System.out.printf("Message sent to topic=%s, partition=%d, offset=%d\n",
metadata.topic(), metadata.partition(), metadata.offset());
}
}
});
producer.close();
}
}
```
当消息发送成功时,`onCompletion()`方法会被调用,并输出消息发送的信息,包括topic、partition和offset。如果消息发送失败,则会输出错误信息。通过这种方式,你可以查看已经成功发送的消息。
阅读全文