首页 > 其他分享 >rocketMq springboot2 发送广播消息

rocketMq springboot2 发送广播消息

时间:2022-11-14 14:55:38浏览次数:42  
标签:11 ACC -- mq 广播 springboot2 ti AccBizListener rocketMq

广播消息:

一个点发送,所有有监听订阅的程序都能收到消息。

应用场景:一个配置更新了,其他点都需要知道配置更新需加载。

 

mq创建

主要是创建组时与队列有点区别

mqadmin updateSubGroup  -c rocketmq-cluster -d true -g broad-string-consumer  -n "192.168.3.252:9876;192.168.3.253:9876"
mqadmin updateSubGroup  -c rocketmq-cluster -d true -g broad-string-consumer  -n "192.168.3.252:9876;192.168.3.253:9876"

mqadmin updateTopic -c rocketmq-cluster -t TOPIC-SYS-ACC-BIZ-BROADCAST
mqadmin updateSubGroup  -c rocketmq-cluster -d true -g GID-ACC-BIZBROADCAST

 

生产者

产生消息与产生普通消息一样

@Component
public class RocketTest extends BaseTest{
    @Autowired
    private AccBizSender accBizSender;

    @Test
    public void accBizSenderTest() throws Exception {
        for (int i=0;i<10;i++) {
            BaseMqRequest baseMqRequest = new BaseMqRequest();
            baseMqRequest.setBizType("sendTest");
            baseMqRequest.setData("{i="+i+"}");
            accBizSender.sendMessageBroadcast(baseMqRequest);
        }
        
        MyDateUtil.sleep(1000000);
    }
    
}

 

消费者

消息模式必须指定 

messageModel = MessageModel.BROADCASTING
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.springframework.stereotype.Component;

import com.ccjr.commons.constants.RocketMqConstants;

import lombok.extern.slf4j.Slf4j;

@Slf4j
@Component
@RocketMQMessageListener(topic = RocketMqConstants.TOPIC_SYS_ACC_BIZ_BROADCAST,
        consumerGroup = RocketMqConstants.G_TAG_ACC_BIZBROADCAST,
        selectorExpression = RocketMqConstants.TAG_ACC_BIZBROADCAST,
        messageModel = MessageModel.BROADCASTING)
public class AccBizListener extends BaseListener {
    
    @Override
    public void onMessageExec(String boContext) {
        super.initMqMsg(RocketMqConstants.TOPIC_SYS_ACC_BIZ_BROADCAST, RocketMqConstants.G_TAG_ACC_BIZBROADCAST, RocketMqConstants.TAG_ACC_BIZBROADCAST);
        log.info("接收广播消息ACC::"+boContext);
    }
}

 

测试结果:

系统A:
2022-11-14 11:21:10.343  INFO 2740 [ti:4af8db59ad8a] -- [MessageThread_4] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=3}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:14daff420a85] -- [MessageThread_1] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=0}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:59c55d117568] -- [essageThread_10] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=9}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:cd8331a33522] -- [MessageThread_7] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=6}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:c06c620aed6f] -- [MessageThread_2] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=1}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:8649c25fb46b] -- [MessageThread_5] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=4}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:77cfbf7db01a] -- [MessageThread_3] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=2}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:28c5eee7b43c] -- [MessageThread_8] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=7}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:9e346a603f5c] -- [MessageThread_9] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=8}"}
2022-11-14 11:21:10.343  INFO 2740 [ti:67c235b561e4] -- [MessageThread_6] c.ccjr.cus.mq.listerner.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=5}"}

系统B:
2022-11-14 11:21:10.346  INFO 4936 [ti:43e2a62170b5] -- [MessageThread_1] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=1}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:8e5713c22a14] -- [MessageThread_7] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=6}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:9354a92f3f36] -- [MessageThread_9] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=8}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:f1b44a0ba79c] -- [MessageThread_5] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=4}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:09acbaf4b249] -- [MessageThread_6] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=5}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:00d1ed751683] -- [MessageThread_4] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=3}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:4f378ca6e336] -- [essageThread_10] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=9}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:ae09aaa74d79] -- [MessageThread_3] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=2}"}
2022-11-14 11:21:10.346  INFO 4936 [ti:8102a4dc4d15] -- [MessageThread_2] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=0}"}
2022-11-14 11:21:10.348  INFO 4936 [ti:2fe1bf33a5b6] -- [MessageThread_8] c.c.acc.biz.mq.listener.AccBizListener   : 接收广播消息ACC::{"bizType":"sendTest","data":"{i=7}"}

 

标签:11,ACC,--,mq,广播,springboot2,ti,AccBizListener,rocketMq
From: https://www.cnblogs.com/a393060727/p/16889024.html

相关文章

  • rocketMq springboot2 发送有序消息
    有序消息:所有信息往mq中,在broker.conf配置文件中指定产生队列数量。如果是普通队列时,所有消息,会分发到默认队列的各个队列中。是无序的。有序则是,所有消息发送,都指定一个......
  • rocketMq springboot2接入配置
    rocketmq的接入配置。 引入jar包<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId></dependen......
  • rocketMq 安装与配置
    下载rocketmq-all-4.7.1-bin-release.zip上传到服务器 /app/rocketmq,并且解压#mkdir-p/app/rocketmq#tar-zxvfrocketmq-all-4.7.1-bin-release.zip[root@lo......
  • rocketmq环境搭建-windows
    最近使用到了rockmetmq,官网上有快速开始的指导,简单记录下自己搭建的过程;1、先到官网下载mq:https://rocketmq.apache.org/download/,我这里下载的是:rocketmq-all-4.9.2-bin-......
  • (作者推荐)【RocketMQ入门到精通】— RocketMQ中级特性能力 | ​长轮询Pull和Push模式
    名言警句任何先进的技术均与魔法无异追本溯源【​​经历了6个月的失踪,我将带着干货终究归来!【RocketMQ入门到精通】​​】RocketMQ消费机制回顾   在众多MQ的体系中,一......
  • 11-SpringBoot2整合Vue最简入门
    vuejs入门环境搭建》1:导入文件<scripttype="text/javascript"src="js/vue.js"></script><scripttype="text/javascript"src="js/axios.js"></script>》2:准备app视......
  • 08-SpringBoot2.0 集成 mybatis注解开发***
    1,依赖pom.xml<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><versi......
  • 【转载】Springboot2.x Lombok之@Builder注解
    转载:https://www.cnblogs.com/MrYuChen-Blog/p/13993196.html使用过程中遇到dto类提示没有默认构造参数的问题,可以给类加上@AllArgsConstructor与@NoArgsConstructor......
  • UDP --02--UDP广播数据
    设计模型局域网UDP广播数据端UdpBroadCast.cpp #include<tchar.h>//_T宏#include<stdio.h>//printfsprintf#include<iostream>//coutfstreamusingnamespacestd;......
  • Apple开发_Socket_UDP协议广播机制的实现
    1、前言1.1什么是UDP协议广播机制?举一个例,例如在一群人群中,一个人要找张三,于是你向人群里大喊一声(广播):“谁是张三”如果它是张三,它就会回应你,在网络中也是一样的......