栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在spring

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在spring

Spring
Kafka允许您通过

@Bean
在应用程序上下文中声明s来创建新主题。这将需要
KafkaAdmin
在应用程序上下文中具有类型的Bean,如果使用Spring
Boot,则会自动创建该类型的Bean 。您可以如下定义主题:

@Beanpublic NewTopic myTopic() {    return TopicBuilder.name("my-topic") .partitions(4) .replicas(3) .config(TopicConfig.RETENTION_MS_CONFIG, "1680000") .build();}

如果您不使用Spring Boot,则还必须定义

KafkaAdmin
bean:

@Beanpublic KafkaAdmin admin() {    Map<String, Object> configs = new HashMap<>();    configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9092");    return new KafkaAdmin(configs);}

如果您要编辑现有主题的配置,则必须使用

AdminClient
,这是
retention.ms
在主题级别更改的代码段:

Map<String, Object> config = new HashMap<>();     config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9092");AdminClient client = AdminClient.create(config);ConfigResource resource = new ConfigResource(ConfigResource.Type.TOPIC, "new-topic");// Update the retention.ms valueConfigEntry retentionEntry = new ConfigEntry(TopicConfig.RETENTION_MS_CONFIG, "1680000");Map<ConfigResource, Config> updateConfig = new HashMap<ConfigResource, Config>();updateConfig.put(resource, new Config(Collections.singleton(retentionEntry)));AlterConfigsResult alterConfigsResult = client.alterConfigs(updateConfig);alterConfigsResult.all();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号