Kafkaのトピックを作成するためのJavaとKafkaの接続方法は何ですか?
JavaでKafkaに接続してトピックを作成するには、KafkaAdminClientクラスのcreateTopics()メソッドを使用できます。
以下はサンプルコードです。
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.kafka.clients.admin.NewTopic;
import java.util.Arrays;
import java.util.Properties;
public class KafkaTopicCreator {
public static void main(String[] args) {
// Kafka broker地址
String bootstrapServers = "localhost:9092";
// 创建AdminClient的配置
Properties adminClientConfig = new Properties();
adminClientConfig.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
// 创建AdminClient实例
try (AdminClient adminClient = AdminClient.create(adminClientConfig)) {
// 创建一个NewTopic对象
NewTopic newTopic = new NewTopic("my-topic", 3, (short) 1);
// 使用AdminClient创建topic
adminClient.createTopics(Arrays.asList(newTopic)).all().get();
System.out.println("Topic created successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
上記のコードでは、まずAdminClientのインスタンスを作成し、NewTopicクラスを使用して新しいトピックオブジェクトを作成します。次に、AdminClientのcreateTopics()メソッドを使用し、新しいトピックオブジェクトを引数として渡します。最後に、all().get()メソッドを呼び出して、トピックの作成が完了するのを待ちます。
注意:topicを正常に作成するためには、Kafkaサービスを実行し、JavaアプリケーションがKafka brokerにアクセスできる必要があります。