SPEL在KafkaListener中不起作用。无法解析财产

时间:2019-06-07 07:09:34

标签: java spring-kafka spring-el

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

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

下面的代码:

String topicKey =   "Topic1,Topic2";

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

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

1 个答案:

答案 0 :(得分:1)

错误很明显

  

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

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

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

该属性首先解析。

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

然后SpEL拆分字符串。