共計 1267 個字符,預計需要花費 4 分鐘才能閱讀完成。
Java 程序可以通過 Kafka 提供的 Java 客戶端來獲取 Kafka 的 topic。以下是一個獲取 topic 列表的示例代碼:
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.ListTopicsResult;
import org.apache.kafka.clients.admin.TopicListing;
import org.apache.kafka.common.KafkaFuture;
import java.util.Collection;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
public class KafkaTopicExample {public static void main(String[] args) {
// Kafka 配置
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
// 創建 AdminClient 對象
try (AdminClient adminClient = AdminClient.create(properties)) {
// 獲取 topic 列表
ListTopicsResult topicsResult = adminClient.listTopics();
// 獲取 Future 對象
KafkaFuture<Collection> topicListingFuture = topicsResult.listings();
// 獲取 topic 列表
Collection topicListings = topicListingFuture.get();
// 遍歷輸出每個 topic
for (TopicListing topicListing : topicListings) {System.out.println(topicListing.name());
}
} catch (InterruptedException | ExecutionException e) {e.printStackTrace();
}
}
}
在上述代碼中,我們首先創建了一個 AdminClient
對象,并傳入 Kafka 的配置。然后,我們通過 listTopics
方法獲取一個 ListTopicsResult
對象,該對象包含了獲取 topic 列表的方法。我們通過調用 listings
方法獲取一個 KafkaFuture
對象,該對象代表了一個異步的獲取 topic 列表的過程。最后,我們通過調用 get
方法獲取真正的 topic 列表,并遍歷輸出每個 topic 的名稱。
請注意,這里的配置中使用了 bootstrap.servers
參數來指定 Kafka 集群的地址,你需要根據你實際的 Kafka 集群配置來修改該參數。
丸趣 TV 網 – 提供最優質的資源集合!
正文完