在这个示例中,我将向您展示如何在 Spring Boot 应用程序中使用 RabbitMQ 消息队列。我们将使用 Spring Boot 的 AMQP Starter 和 Spring 配置。
- 首先,创建一个新的 Spring Boot 项目,并添加以下依赖项到您的
build.gradle
或pom.xml
文件:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-amqp'
}
或者,对于 Maven:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies>
- 在
application.properties
或application.yml
文件中配置 RabbitMQ 连接信息:
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
- 创建一个配置类,用于定义队列、交换器和绑定:
@Configuration
public class RabbitMQConfig {
@Bean
public Queue queue() {
return new Queue("myQueue", false);
}
@Bean
public TopicExchange exchange() {
return new TopicExchange("myExchange");
}
@Bean
public Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with("my.routing.key");
}
}
- 创建一个消息发送者类,用于将消息发送到 RabbitMQ:
@Service
public class MessageSender {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend("myExchange", "my.routing.key", message);
}
}
- 创建一个消息接收者类,用于从 RabbitMQ 接收消息:
@Service
public class MessageReceiver {
@RabbitListener(queues = "myQueue")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
现在,您可以在应用程序中使用 MessageSender
类发送消息,并通过 MessageReceiver
类接收消息。这个示例展示了何在 Spring Boot 应用程序中使用 RabbitMQ 进行基本的消息传递。您可以根据需要扩展此示例,以满足您的特定需求。