SpringBoot中@KafkaListener使用${}动态指定topic问题

 更新时间:2024年12月12日 14:22:47   作者:涛哥是个大帅比  
在SpringKafka中,使用${}引用Spring属性配置,可以在不同环境中重新配置topic名称,而无需修改代码,在application.properties或application.yml中定义topic名称,并在代码中使用${}引用

项目场景

在Spring Kafka中,我们可以使用${}来引用Spring的属性配置。

这样我们就可以在不同的环境中重新配置topic名称,而不需要修改代码。

解决方案

  • 在application.properties或application.yml中定义topic名称:
# application.properties
kafka.topic=myTopic
  • 然后在你的代码中使用${}来引用这个属性:
@KafkaListener(topics = "${kafka.topic}")
public void listen(String message) {
    System.out.println("Received message in topic : " + message);
}
  • 如果你使用的是多个topic
  • 你可以使用;来分割多个topic名称:
# application.properties
kafka.topics=topic1;topic2;topic3
  • 然后在你的代码中使用${}来引用这个属性:
@KafkaListener(topics = "${kafka.topics}")
public void listen(String message) {
    System.out.println("Received message in topic : " + message);
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现加盐算法的两种方法

    Java实现加盐算法的两种方法

    数据安全是一个重要的问题,本文主要介绍了Java实现加盐算法的两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • SpringBoot可执行jar包中使用自定义字符集失败问题的原因及解决方案

    SpringBoot可执行jar包中使用自定义字符集失败问题的原因及解决方案

    这篇文章主要介绍了Spring Boot fatjar部署时,因类加载器双亲委托模型与SPI机制冲突导致自定义字符集无法加载的问题,解决方案是修改代码使用当前线程类加载器或调整JVM参数,确保字符集实现被正确识别,需要的朋友可以参考下
    2025-07-07
  • SpringBoot @PostConstruct原理用法解析

    SpringBoot @PostConstruct原理用法解析

    这篇文章主要介绍了SpringBoot @PostConstruct原理用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java使用JNA调用DLL文件

    Java使用JNA调用DLL文件

    JNA(Java Native Access)是一个在 Java 中调用本地代码的开源框架,提供了一种简单、高效的方式来访问本地动态链接库,下面我们来看看Java如何使用JNA调用DLL文件吧
    2024-12-12
  • 替换jar包中的yml,class等文件的实现方式

    替换jar包中的yml,class等文件的实现方式

    文章介绍了如何在不回退版本的情况下,替换jar包中的特定文件来修复线上bug,具体步骤包括:准备文件、下载jar包、查看文件路径、解压文件、替换文件、重新打包文件、验证替换、重新上传jar包并测试
    2025-12-12
  • Spring MVC 拦截器 interceptor 用法详解

    Spring MVC 拦截器 interceptor 用法详解

    这篇文章主要介绍了Spring MVC 拦截器 interceptor 用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 关于springboot中nacos动态路由的配置

    关于springboot中nacos动态路由的配置

    这篇文章主要介绍了springboot中nacos动态路由的配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java栈之链式栈存储结构的实现代码

    Java栈之链式栈存储结构的实现代码

    这篇文章主要介绍了Java栈之链式栈存储结构的实现代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • AQS(AbstractQueuedSynchronizer)抽象队列同步器及工作原理解析

    AQS(AbstractQueuedSynchronizer)抽象队列同步器及工作原理解析

    AQS是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO对列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态,本文给大家详细介绍下AQS抽象队列同步器的相关知识,感兴趣的朋友一起看看吧
    2022-03-03
  • Java Swing实现JTable检测单元格数据变更事件的方法示例

    Java Swing实现JTable检测单元格数据变更事件的方法示例

    这篇文章主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
    2017-11-11

最新评论