2016-03-24 9 views
0

AdminUtilsを使ってトピックのパーティションを動的に作成しています。私はビジネスロジックのためにそれをMysqlに保存するために新しく作成されたパーティションのpartitionIdを取得しなければなりません。どうすればこれを達成できますか? 私の現在のコード:上記とKafka Javaでトピックの最新の作成されたパーティションIDを知る方法

AdminUtils.addPartitions(zkUtils,KAFKA_PRODUCER_TOPIC,currentPartitionCount+1,"",true); 

      List<PartitionInfo> infoList = producer.partitionsFor(KAFKA_PRODUCER_TOPIC); 
      for(PartitionInfo info : infoList){ 
       System.out.println(info.partition()); 
      } 
      createdPartionId = infoList.get(0).partition(); 

この問題は、最新の作成したパーティションがPartitionInfoリストに来ていないということです。 why.producerがKafka Producer APIであることを知らない

答えて

0

TopicMetadataRequestを送信できます。 the exampleを参照してください。前と後を行い、結果を比較することができます。それ以外の場合は、新しいパーティションにはいつも追加されます。newPartitionID == previousLastPartitionID + 1

関連する問題