KafKa动态分组ID

背景说明:
做这个的原因主要是因为懒,KafKa监听没有独立项目出去,由于KafKa没有组内广播模式,这就造成了一个问题:项目多处启动的时候,就只有一个地方能接收信息。这个时候就要手懂修改分组ID了。

原理说明:

采用一些语法,使用动态的配置。

代码如下:

@KafkaListener(id = "#{@kafkaBean.groupId}", topics = "test-topics")
    public void deviceMessage(String message) {
       //业务处理部分
    }
监听部分
@Bean("kafkaBean")
    public KafkaBean kafkaBean() {
        return new KafkaBean();
    }
Bean注入部分
public class KafkaBean {

    public String groupId = IdUtil.simpleUUID();

}
Bean实体

代码说明:

其实就是每次在实体中生成心的groupId,我这里就比较偷懒也不管性能了。其实可以采用读取机器码的或者IP来取代我这里的随机值。

posted on 2024-10-29 11:06  instr  阅读(45)  评论(0编辑  收藏  举报

导航