背景说明:
做这个的原因主要是因为懒,KafKa监听没有独立项目出去,由于KafKa没有组内广播模式,这就造成了一个问题:项目多处启动的时候,就只有一个地方能接收信息。这个时候就要手懂修改分组ID了。
原理说明:
采用一些语法,使用动态的配置。
代码如下:
![图片[1]-KafKa动态分组ID - 拾光赋-拾光赋](https://image.baidu.com/search/down?url=https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@KafkaListener(id = "#{@kafkaBean.groupId}", topics = "test-topics")
public void deviceMessage(String message) {
//业务处理部分
}
监听部分
![图片[1]-KafKa动态分组ID - 拾光赋-拾光赋](https://image.baidu.com/search/down?url=https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@Bean("kafkaBean")
public KafkaBean kafkaBean() {
return new KafkaBean();
}
Bean注入部分
![图片[1]-KafKa动态分组ID - 拾光赋-拾光赋](https://image.baidu.com/search/down?url=https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class KafkaBean { public String groupId = IdUtil.simpleUUID(); }
Bean实体
代码说明:
其实就是每次在实体中生成心的groupId,我这里就比较偷懒也不管性能了。其实可以采用读取机器码的或者IP来取代我这里的随机值。
原文链接:KafKa动态分组ID
© 版权声明
THE END


![表情[baoquan]-拾光赋](https://blogs.ink/wp-content/themes/zibll/img/smilies/baoquan.gif)


暂无评论内容