1.安装、启动RabbitMQ(以linux为例)
(1)可以自己上传RabbitMQ的压缩包到linux操作系统,通过 docker load -i RabbitMQ.tar 命令将加载加载RabbitMQ,也可以使用docker pull命令
(2)使用docker启动RabbitMQ
docker run \
-e RABBITMQ_DEFAULT_USER=用户名\
-e RABBITMQ_DEFAULT_PASS=密码 \
-v mq-plugins:/plugins \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
--network hm-net\
-d \
rabbitmq:3.8-management
使用上面命令启动RabbitMQ,再使用 docker logs mq 查看日志,检查mq是否正常启动
(3)页面访问 http://自己虚拟机上的IP地址:15672 ,然后登录(用户名和密码都是在虚拟机中自己设置的),建议再给自己创建一个用户方便使用和测试,当然也可以就用开始创建的
又上角log out退出使用我们自己创建的用户登录,创建自己的虚拟主机
2.在项目中引入依赖并进行配置
(1)在ymal文件中添加RabbitMQ配置
spring:
rabbitmq:
host: # 你的虚拟机IP
port: 5672 # 端口
virtual-host: # 虚拟主机(自己创建的虚拟主机名)
username: # 用户名
password: # 密码
(2)在xml文件引入相关依赖
<!--AMQP依赖,包含RabbitMQ-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
3.创建接受消息端
@Slf4j
@Component
public class SpringRabbitListener {
@RabbitListener(queues = "testQueue")
public void listenSimpleQueueMessage(String msg){
log.info("接送的消息是:{}",msg);
}
}
4.创建发送消息端
@SpringBootTest
class PublisherApplicationTest {
@Resource
private RabbitTemplate rabbitTemplate;
@Test
public void testSimpleQueue(){
String queueName = "testQueue";
String message = "hello,Rabbit!!!!";
rabbitTemplate.convertAndSend(queueName,message);
}
}
启动发送的测试类,再启动接受端,就可以接收消息了