1. 导入依赖
<!--AMQP依赖,包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
发送消息
注入RabbitTemplate
@Autowired RabbitTemplate rabbitTemplate;
//队列String queueName = "test.query";//消息String message = "hello rabbitmq";//发送消息rabbitTemplate.convertAndSend(queueName,message);
监听接收消息
只需要在方法上添加注解即可
@RabbitListener(queues = "test.query")
@RabbitListener(queues = "test.query")void contextLoads(Object msg) {System.out.println("msg = " + msg);}
work模型
1. 多个消费者绑定同一个队列,提升处理消息的速度
2. 同一个消息只会被同一个消费者处理
3. 通过prefetch限制一次只能消费一条消息,处理完才能处理下一条,实现能者多劳
spring:rabbitmq:host: localhostport: 5672virtual-host: /hmallusername: hmallpassword: 123listener:simple:prefetch: 1 # 每个消费者一次消费一个消息