2016-03-24 18 views
0

Dinamik olarak AdminUtils kullanarak bir konu için bölüm oluşturuyorum. İş mantığım için Mysql'e kaydetmek için yeni oluşturulan bölümün bölümünü almalıyım. Bunu nasıl başarabilirim ? Benim geçerli kod: Yukarıdaki ileKafka Java'da bir konu için en son oluşturulan bölüm kimliği nasıl bilinir

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(); 

Sorun son oluşturulan bölüm PartitionInfo listesinde gelmiyor olmasıdır. Neden bilmiyorum.producer Kafka Producer API'sidir.

cevap

0

TopicMetadataRequest yapabilirsiniz. Bakınız the example. Bir önce ve sonra bir tane yapabilir ve sonuçları karşılaştırabilirsiniz. Aksi takdirde, yeni bölüm her zaman newPartitionID == previousLastPartitionID + 1

ile eklenir
İlgili konular