我们在开发过程中使用Kafka会遇到topic太多,自己创建太费劲,所以想一次配置终身使用,自己去创建topic,和flyway一样自己去创建表,今天总结一下配置方式。
1.application.yml配置
kafka: # 自动创建topic topics: # topic - name: import_vulnera_topic #分区数 num-partitions: 6 #副本数 replication-factor: 2 # topic - name: import_vulnerability_topic num-partitions: 6 replication-factor: 2 # topic - name: import_vulnerability_result_topic num-partitions: 6 replication-factor: 2
2.配置Configuration
import org.apache.kafka.clients.admin.NewTopic; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.support.GenericWebApplicationContext; import javax.annotation.PostConstruct; import java.util.List; /** * 自动创建topic */ @Configuration @SuppressWarnings("all") public class TopicAdministrator { private final TopicConfigurations configurations; private final GenericWebApplicationContext context; public TopicAdministrator(TopicConfigurations configurations, GenericWebApplicationContext genericContext) { this.configurations = configurations; this.context = genericContext; } @PostConstruct public void init() { initializeBeans(configurations.getTopics()); } private void initializeBeans(Listtopics) { topics.forEach(t -> context.registerBean(t.name, NewTopic.class, t::toNewTopic)); } }
import lombok.Data; import org.apache.kafka.clients.admin.NewTopic; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import java.util.List; @Configuration @ConfigurationProperties(prefix = "kafka") @Data public class TopicConfigurations { private Listtopics; @Data static class Topic { String name; Integer numPartitions = 3; Short replicationFactor = 1; NewTopic toNewTopic() { return new NewTopic(this.name, this.numPartitions, this.replicationFactor); } } }
猜你喜欢
- 17天前(三亚海棠湾君悦度假酒店)三亚海棠湾君悦酒店暑期夏令营悦趣海岛游招募中
- 17天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 17天前(哥伦比亚号邮轮)爱达邮轮与哥仑比亚船舶管理集团达成合作
- 17天前(甘肃文旅项目)甘肃省文旅产业链招商引资推介会在天水成功举办
- 17天前(苏梅岛普吉岛哪个好玩)苏梅岛金普顿基塔蕾度假酒店推出家庭度假套餐
- 17天前(世茂海峡大厦多高)巴西地产高管齐聚厦门世茂海峡大厦 共探超高层建筑锻造经验
- 17天前(2025年安徽省“百场黄梅唱响百家景区”示范展示启动)2025年安徽省“百场黄梅唱响百家景区”示范展示启动
- 17天前(内蒙古冬季旅游攻略)内蒙古冬日奇遇:携程租车带你策马踏雪
- 17天前(阿斯塔纳航空属于哪个联盟)阿斯塔纳航空荣获Skytrax世界航空公司大奖,将继续助力中哈交流往来
- 17天前(我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章