我有一个在@KafkaListener中使用SPEL的代码。
我正在尝试提供对Topics字段的全局变量引用,但出现错误

"Could not resolve placeholder 'topicKey.split(',')' in value "#{'${topicKey.split(',')}'}"


下面的代码:

String topicKey =   "Topic1,Topic2";

@KafkaListener(topics = "#{'${topicKey.split(',')}'}")


有人可以在这里帮助我吗?

最佳答案

错误很明显


  “无法解析占位符'topicKey.split(',')'的值"#{'${topicKey.split(',')}'}"


您的语法不好,假设属性为topicKey,则正确的语法为

@KafkaListener(topics = "#{'${topicKey}'.split(',')}")


首先解决该属性。

@KafkaListener(topics = "#{'foo,bar'.split(',')}")


然后SpEL拆分字符串。

10-08 17:24