安装RabbitMQ
在linux上安装RabbitMQ
,并运行
shell
docker run \
-e RABBITMQ_DEFAULT_USER=zywzy \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name mq \
--hostname mq1 \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
http://ip:15672
访问控制台, 用户名zywzy,密码123321
引入依赖
xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置文件
yml
spring:
rabbitmq:
host: 172.27.99.52 # rabbitMQ的ip地址
port: 5672 # 端口
username: abc
password: 123321
virtual-host: /
发送消息
java
@SpringBootTest
public class SpringAmqpTest {
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void testSendMessage2SimpleQueue() {
String queueName = "simple.queue";
String message = "hello, spring amqp!";
rabbitTemplate.convertAndSend(queueName, message);
}
}
消费消息
java
@RabbitListener(queues = "simple.queue")
public void listenWorkQueue1(String msg) throws InterruptedException {
System.out.println("消费者1接收到消息:【" + msg + "】" + LocalTime.now());
}
消息预取
- 每次只能取一条消息,处理完成才能取下一条消息
yml
spring:
rabbitmq:
listener:
simple:
prefetch: 1