spring-kafka - @EventListener 中的 SPEL 表达式
问题描述
以下代码示例取自 Spring 文档。我的问题是如何传递一个变量来代替“qux-”。我试过#{},${}。
@EventListener(condition = "event.listenerId.startsWith('qux-')")
public void eventHandler(ListenerContainerIdleEvent event) {
...
}
解决方案
在 Spring Boot 中使用 EL 时,您需要用 #{} 将整个表达式括起来,并且在内部,您必须使用 ${} 以便您可以从应用程序上下文中检索变量。所以在你的情况下,这应该工作:
@EventListener(condition = "#{'event.listenerId'.startsWith(${'myVariable'})}")
推荐阅读
- excel - 根据第一个单元格值合并空白列
- raphael - svg.js 中的 Raphael.transformPath 类似物是什么?
- reactjs - 如何同时上传图片和发送消息(React & Firebase)?
- ios - React 本机摄像头录制为 ram 添加内存导致崩溃 - ios
- google-chrome - 如何在 Chrome 快捷方式中添加或组合多个禁用选项或标志?
- c++ - 此类定义中定义的内容
- c++ - 为什么我会得到这个?
- python - 如何在 spyder 中制作 csv 图,但仅包含 500 行中的前 25 行?
- reactjs - React Navigation - 自定义 headerRight 组件被自定义 headerTitle 组件覆盖
- html - Bootstrap 5 Navbar-不能分开网站标志(品牌)和导航链接