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