SpringKafka动态指定@KafkaListener的topics和groupId

本文介绍了如何在SpringKafka中动态指定@KafkaListener的topics和groupId,通过beanRef属性结合bean实例实现。在集群环境中,动态配置可确保多台机器能均衡消费同一主题的任务。示例包括参数对象、bean实例和消费者的详细说明,并提供配置检查的方法。
摘要由CSDN通过智能技术生成

1.@KafkaListener

  1. @KafkaListener是kafka的消费者,topics是其主题名,groupId是组名;
  2. 属性值一般只支持常量,再集群的情况下,topics、groupId如果不是动态的,那集群环境中只有一台能消费同主题上的任务;

2.动态指定 topics、groupId两个属性

  1. @KafkaListener中有一个beanRef属性,专门获取spring容器中的bean;
  2. beanRef:此注释中的SpEL表达式中使用的伪bean名称,用于引用定义此侦听器的当前bean。这允许访问封闭bean中的属性和方法。默认的''__listener'。
  3. 指定beanRef属性后,即可使用bean实例动态指定topics、groupId两个属性;

例子:

参数对象

public class Listener {
    private List<String> topicList;
    private String group;

    public Listener(List<String> topicList, String group) {
        this.topicList = topicList;
        this.group = group;
    }

    public List<String> getTopicList() {
        return topicList;
    }

    public void set
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值