1 回答
TA贡献1804条经验 获得超3个赞
这对我有用:)
private void setRetentionTime(String topicName, int retentionTime) {
ConfigResource resource = new ConfigResource(Type.TOPIC, topicName);
Collection<ConfigEntry> entries = new ArrayList<>();
entries.add(new ConfigEntry(TopicConfig.RETENTION_MS_CONFIG, String.valueOf(retentionTime)));
Config config = new Config(entries);
Map<ConfigResource, Config> configs = new HashMap<>();
configs.put(resource, config);
AdminClient client = kafkaConfig.createAdminClient();
client.alterConfigs(configs);
}
TA贡献1995条经验 获得超2个赞
我以前从 Java 知道你可以作为客户端登录。无法更改主题配置。
最近他们在新版本的 Kafka 中引入了这一点,我认为这是可能做到的。
我现在的答案听起来有点模糊,但如果你想要完整的答案,你必须更具体。如果您有 Kafka 的确切版本、用于连接到 kafka 的库等,我可以扩展答案...
我认为从应用程序更改服务器端配置不是最好的主意。这是更多基础设施的事情,不应该在运行应用程序时在运行时完成。
添加回答
举报