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");

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM