背景说明:
做这个的原因重要是因为懒,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来代替我这里的随机值。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |