程序员子龙(Java面试 + Java学习) 程序员子龙(Java面试 + Java学习)
首页
学习指南
工具
开源项目
技术书籍

程序员子龙

Java 开发从业者
首页
学习指南
工具
开源项目
技术书籍
  • 基础

  • JVM

  • Spring

  • 并发编程

  • Mybatis

  • 网络编程

  • 数据库

  • 缓存

  • 设计模式

  • 分布式

  • 高并发

  • SpringBoot

  • SpringCloudAlibaba

  • Nginx

  • 面试

  • 生产问题

  • 系统设计

  • 消息中间件

    • 基础

    • Kafka

      • Kafka 介绍
      • 扫盲Kafka,看这一篇就够了!
      • kafka基本使用
      • kafka中的@KafkaListener如何动态获得topic
      • spring boot中 设置kafka手动提交OFFSET
      • 面试官:聊聊kafka线上使用会有哪些问题
      • 阿里二面:Kafka中如何保证消息的顺序性?这周被问到两次了
      • 面试官:kafka 分布式的情况下,如何保证消息的顺序消费?
    • RabbitMQ

    • RocketMQ

  • Java
  • 消息中间件
  • Kafka
程序员子龙
2024-01-29

kafka中的@KafkaListener如何动态获得topic

spring boot 在集成kafka 消费端使用@KafkaListener时候要指定topic,在实际应用时候,可能需要通过配置来指定topic。

首先写一个KafkaTopicConfig类

@Configuration
public class KafkaTopicConfig implements InitializingBean {

	@Value("${kafka.topic}")
    private String topic;
 
    @Override
    public void afterPropertiesSet() {

         //系统写入
         System.setProperty("topics", topics);
     }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14

@KafkaListener(topics = “#{’${topics}’.split(’,’)}”) 在要调用 @KafkaListener的类前加上@DependsOn(value = “kafkaTopicConfig”),确保kafkaTopicConfig类在此之前加载。

注意:@KafkaLisener中的topics是string[]类型,一定要注意传入参数的属性,不然会报value '[Ljava.lang.String;@1fb8997’的错误,一定要注意一下!

上次更新: 2024/03/11, 15:54:57
kafka基本使用
spring boot中 设置kafka手动提交OFFSET

← kafka基本使用 spring boot中 设置kafka手动提交OFFSET→

最近更新
01
一个注解,优雅的实现接口幂等性
11-17
02
MySQL事务(超详细!!!)
10-14
03
阿里二面:Kafka中如何保证消息的顺序性?这周被问到两次了
10-09
更多文章>
Theme by Vdoing | Copyright © 2024-2024

    辽ICP备2023001503号-2

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式