目錄
1.創建項目和模塊
2.添加rabbitMQ依賴
3.啟動rabbitMQ服務
4.引入rabbitMQ服務端信息
5.通過單元測試模擬業務發送消息
6. 接收消息
1.創建項目和模塊
2.添加rabbitMQ依賴
<!-- rabbitmq依賴-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-amqp</artifactId>
? ? ? ? </dependency>
?
3.啟動rabbitMQ服務
登錄
?
4.引入rabbitMQ服務端信息
spring:rabbitmq:port: 5672host: localhostusername: guest rabbitMQ服務端賬號password: guest rabbitMQ服務端密碼 virtual-host: / 虛擬機地址?
rabbitMQ服務端用戶和虛擬機操作可參考
https://blog.csdn.net/m0_67930426/article/details/134905566
5.通過單元測試模擬業務發送消息
package com.example.publisher;import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class SendMessage {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testvoid TestSend(){String queueName="aaa.queue";String msg="我正在使用rabbitMQ";rabbitTemplate.convertAndSend(queueName,msg);}}
?
運行成功
?
?
如果隊列未接收到msg,很可能是交換機未綁定該隊列
因為生產者發送消息,經過交換機,再到隊列,最終由消費者監聽,接收消息
交換機綁定隊列可以參考
https://blog.csdn.net/m0_67930426/article/details/134904365?spm=1001.2014.3001.5501
6. 接收消息
package com.example.consumer.mqListener;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;@Slf4j
@Component
public class Listener {@RabbitListener(queues = "bbb.queue")public void bbb(String msg){System.out.println("消費者收到了bbb.queue的消息:【"+msg+"】");}
}
?即
?
運行?
?
?
?