java - 如何使用 Spring Kafka 保证 Kafka 主题配置
问题描述
我有一个配置bean
@Bean("alertsTopic")
public NewTopic alertsTopic() {
return TopicBuilder.name(PORTAL_ALERTS)
.config(TopicConfig.DELETE_RETENTION_MS_CONFIG, String.valueOf(Duration.ofHours(1).getSeconds() * 1000))
.compact()
.build();
}
但是,当我检查
./kafka-configs.sh --bootstrap-server kafka:9092 --describe --topic portal.alerts --all
看来我的设置都没有设置。
我假设我在进行配置之前可能无意中创建了该主题。我的问题是如何让我的应用程序检测到NewTopic
与存在的配置匹配的值,否则终止应用程序上下文。
或者强制更新。
解决方案
如果主题已经存在,唯一的修改KafkaAdmin
是增加分区的数量。
对于其他更改,您必须使用AdminClient
自己。
推荐阅读
- python - 关于显式删除 Python 框架的问题
- flutter - 如何将数据传递到多个页面
- node.js - 错误:'heroku/nodejs' buildpack 不支持应用程序
- javascript - 如何在 REACT 中插入表单中的数据
- c - 如何在 VS Code 中为 IntelliSense 配置编写“包含路径(包含标题的文件夹)”
- c++ - 意外的二维数组位置?
- python - 获取连接到不同订阅中工作区的 Azure 中虚拟机的 Log Analytics 工作区 ID
- html - 当我通过 Google 表格“发布到网络”时,如何获得要显示的图像?
- node.js - 附加到订阅下所有 VM 的 NSG 规则
- html - 在移动设备上的同一行上引导列