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(); }

public class KafkaBean { public String groupId = IdUtil.simpleUUID(); }
代码说明:
其实就是每次在实体中生成心的groupId,我这里就比较偷懒也不管性能了。其实可以采用读取机器码的或者IP来取代我这里的随机值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步