どのようにKafkaのProducerのメタデータを取得できますか?

Kafkaからプロデューサーのメタデータを取得するには、Kafkaが提供するAdminClient APIを使用できます。次のコードがその一例です。

import java.util.Properties;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.ConsumerGroupListing;
import org.apache.kafka.clients.admin.ListConsumerGroupsResult;
import org.apache.kafka.clients.admin.ListTopicsResult;
import org.apache.kafka.clients.admin.TopicListing;

public class KafkaProducerMetadata {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("bootstrap.servers", "localhost:9092"); // Kafka集群的地址

        try (AdminClient adminClient = AdminClient.create(props)) {
            // 获取所有主题的元数据
            ListTopicsResult topicsResult = adminClient.listTopics();
            topicsResult.listings().get().forEach(topicListing -> {
                System.out.println("Topic: " + topicListing.name());
            });

            // 获取所有消费者组的元数据
            ListConsumerGroupsResult consumerGroupsResult = adminClient.listConsumerGroups();
            consumerGroupsResult.all().get().forEach(consumerGroupListing -> {
                System.out.println("Consumer Group: " + consumerGroupListing.groupId());
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

こちらのコードはAdminClient APIを使用してAdminClientのインスタンスを作成し、それを使用して全てのトピックとコンシューマーグループのメタデータをフェッチしています。必要に応じて、変更や拡張が可能です。

bannerAds