Spring Boot消息队列
时间: 2023-07-12 13:17:42 浏览: 140
Spring Boot提供了对多种消息队列的支持,包括ActiveMQ、RabbitMQ、Kafka、Redis等。下面以RabbitMQ为例,介绍如何在Spring Boot中使用消息队列。
1. 添加依赖
在`pom.xml`文件中添加RabbitMQ依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
```
2. 配置消息队列
在`application.properties`文件中添加RabbitMQ的配置信息:
```properties
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
```
3. 定义消息发送者
使用`RabbitTemplate`发送消息:
```java
@Component
public class MessageSender {
@Autowired
private RabbitTemplate rabbitTemplate;
public void send(String message) {
rabbitTemplate.convertAndSend("exchange", "routingKey", message);
}
}
```
4. 定义消息接收者
使用`@RabbitListener`注解监听消息:
```java
@Component
public class MessageReceiver {
@RabbitListener(queues = "queue")
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
```
5. 发送和接收消息
在需要发送消息的地方调用`MessageSender`的`send`方法即可发送消息:
```java
@Autowired
private MessageSender messageSender;
messageSender.send("Hello, RabbitMQ!");
```
当有消息到达队列时,`MessageReceiver`的`receive`方法会被自动调用,处理消息:
```java
@Component
public class MessageReceiver {
@RabbitListener(queues = "queue")
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
```
以上就是使用RabbitMQ实现消息队列的简单示例,其他消息队列的使用也类似。
阅读全文