共計 1232 個字符,預計需要花費 4 分鐘才能閱讀完成。
在 Java 中接收 Kafka 消息,需要使用 Kafka 的 Java 客戶端庫。以下是一種常見的接收 Kafka 消息的方法:
-
首先,確保已經在項目中引入 Kafka 的 Java 客戶端庫,例如 Apache Kafka 的官方客戶端庫或者 Spring Kafka 等。
-
創建一個 Kafka 消費者對象,設置 Kafka 集群的連接配置,例如 Kafka 的地址、端口等。
Properties props = new Properties(); props.put("bootstrap.servers", "kafka1:9092,kafka2:9092"); // Kafka 集群的地址和端口 props.put("group.id", "group1"); // 消費者組的 ID props.put("auto.offset.reset", "latest"); // 消費者從最新的消息開始消費 props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props); -
訂閱一個或多個 Kafka 的主題。
consumer.subscribe(Arrays.asList("topic1", "topic2")); // 訂閱主題列表 -
在一個循環中,不斷地從 Kafka 中拉取消息并處理。
while (true) {ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100)); // 從 Kafka 中拉取消息 for (ConsumerRecord<String, String> record : records) {String topic = record.topic(); int partition = record.partition(); long offset = record.offset(); String key = record.key(); String value = record.value(); // 處理接收到的消息 System.out.printf("Received message: topic = %s, partition = %d, offset = %d, key = %s, value = %s\n", topic, partition, offset, key, value); } }注意:上述代碼為了簡化,省略了異常處理、關閉消費者等步驟。在實際使用中,應該注意處理各種異常情況,并在程序結束時關閉消費者。
通過以上步驟,就可以在 Java 中接收 Kafka 消息了。
丸趣 TV 網 – 提供最優質的資源集合!
正文完