RocketMQ的基本使用

第一步导入依赖:

复制代码
 <!--Springboot 集成 RocketMQ依赖-->
     <dependency>
         <groupId>org.apache.rocketmq</groupId>
          <artifactId>rocketmq-spring-boot-starter</artifactId>
           <version>2.0.3</version>
        </dependency>
   <!--RocketMQ依赖 一般与上者二选一看环境--> 
   <dependency>
       <groupId>org.apache.rocketmq</groupId>
       <artifactId>rocketmq-client</artifactId>
       <version>4.6.0</version>
     </dependency> 

<!--对应的hutool工具包 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.2</version>
</dependency>
复制代码

第二步:注入MQ

 @Autowired

RocketMQTemplate mqTemplate;

发送MQ消息时,mqTemplate.convertAndSend("userlog", map); 发时用userlog,收时也要用他。

map是我们自己定义的消息体

// 定义消息体
        HashMap<String, Object> map = new HashMap<>();
        map.put("cname", username);
        map.put("ctype", 0); // 0代表登录失败 1 代表登录成功
        map.put("ctime", new Date());
  // 发送MQ消息
            mqTemplate.convertAndSend("userlog", map);  

配置  提供者与消费组类似

复制代码
#提供者
rocketmq.name-server=192.168.31.81:9876
rocketmq.producer.group=maike


#消费者   
rocketmq.name-server=192.168.31.80:9876
rocketmq.producer.group=maike2

server.port=8083 防止端口冲突
复制代码

代码实现需要注意:

发消息:

rocketMQTemplate.convertAndSend("maike-sso-login", map);

发的消息的topic为:maike-sso-login ,  收消息也用他

收消息:

//需要实现这个接口  topic与发送者一样
@RocketMQMessageListener(topic = "maike-sso-login",
        consumerGroup = "maike-login-info")
public class UserLoginConsumer implements RocketMQListener<String> { 
}

然后可以用hutool的工具包   JSONUtil.parseObj(msg)转成对象   按照对应类型去拿值,代码如下

复制代码
public void onMessage(String msg) {
      
            //转json  拿到数据    
            JSONObject jsonObject = JSONUtil.parseObj(msg);
//传的时候传什么类型,就用什么类型取 Long userId
= jsonObject.getLong("id"); Date loginDate = jsonObject.getDate("date"); String address = jsonObject.getStr("address"); String gender = jsonObject.getStr("gender");
复制代码

 

 

  

posted @   超级大菜鸡  阅读(2091)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示