我正在使用 AdminUtils 为主题动态创建分区。我必须获取新创建的分区的 partitionId 才能将其保存在 Mysql 中以用于我的业务逻辑。我怎样才能做到这一点?我当前的代码:
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 列表中。不知道为什么。producer 是 Kafka Producer API。