You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何拼接@KafkaListener注解的topicPattern参数

解决方案

这两种需求都能直接实现,借助Spring的占位符语法就能搞定,不需要额外写复杂逻辑。

实现方式

直接在@KafkaListener的topicPattern属性里使用带默认值的占位符:

@KafkaListener(topicPattern = "mytopic1${myvar:}")
public void handleMessage(ConsumerRecord<String, String> record) {
    // 消息处理逻辑
}

原理说明

  • ${myvar:}是Spring的占位符语法,冒号后面的内容是默认值,这里留空表示当myvar未配置时,自动填充空字符串。
  • 当application.properties中设置myvar=abc时,topicPattern会被解析为mytopic1abc;
  • 当myvar未配置时,topicPattern保持为mytopic1,不会额外拼接内容。

配置示例

  1. 配置了myvar的场景(application.properties):
myvar=abc

此时监听的topicPattern为mytopic1abc。

  1. 未配置myvar的场景(application.properties中无该变量):
    此时监听的topicPattern为mytopic1。

内容的提问来源于stack exchange,提问作者chris01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:47:06