如何在 Camel K Kafka URL 中使用 ${...} ?

How to use ${...} in Camel K Kafka URL?

我已将主题保存在 header 中并尝试在 Kafka URL 中访问它,如下所示:

from(...)
.process(...)
.to("kafka:${header.topic}?brokers=localhost:9092")

不幸的是它说Kafka URL无效:

org.apache.kafka.common.errors.InvalidTopicException: Invalid topics: [${header.topic}]

我已经尝试用 .log("${header.topic}") 替换 to(...) 并且可以在日志行中打印预期值。

有谁知道导致这个问题的原因,我应该避开美元符号还是花括号?

您需要使用发送动态,所以将 to 替换为 toD

header body 和 属性 值是动态值,每次流触发时都可以采用不同的值。您必须将此指定给骆驼和 toD 方法执行此操作。