【发布时间】:2022-01-11 09:59:15
【问题描述】:
我正在使用一个现有的 spring boot 注释,并希望使用 spring 表达式动态设置属性值,并希望有一个常量值作为前缀,
示例代码 sn-p
@KafkaListener(topics="${topic.name}", groupId="#{'consumergroup' + (int)(java.lang.Math).random() }")
public void consumerMethod(){
}
我想使用上述实现为每个新容器创建一个新的消费者组。
但我面临以下异常。
表达式解析失败;嵌套异常是 org.springframework.expression.spel.SpelParseException:EL1041E:之后 解析一个有效的表达式,还有更多的数据在 表达式:'lparen(()
请帮助我使用 template spring EL 或我可以使用的任何其他方式来设置带有常量前缀的动态消费者组 ID。
【问题讨论】:
-
您缺少一个结束
}。 -
@M.Deinum 我已经在我的代码中添加了 sn-p 但错过了在这里添加问题,请您现在检查一下。
-
如果有人因为不懂就给负分,请告诉我,我会改正的。
-
AFAIK 你还需要在静态调用前加上
T,比如(int) T(java.lang.Math).random()。我不认为它会起作用。 -
另见我的回答。
标签: spring-boot java-8 spring-kafka spring-el