1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
這對(duì)我有用:)
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貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
我以前從 Java 知道你可以作為客戶端登錄。無(wú)法更改主題配置。
最近他們?cè)谛掳姹镜?Kafka 中引入了這一點(diǎn),我認(rèn)為這是可能做到的。
我現(xiàn)在的答案聽起來(lái)有點(diǎn)模糊,但如果你想要完整的答案,你必須更具體。如果您有 Kafka 的確切版本、用于連接到 kafka 的庫(kù)等,我可以擴(kuò)展答案...
我認(rèn)為從應(yīng)用程序更改服務(wù)器端配置不是最好的主意。這是更多基礎(chǔ)設(shè)施的事情,不應(yīng)該在運(yùn)行應(yīng)用程序時(shí)在運(yùn)行時(shí)完成。
添加回答
舉報(bào)