spring boot 使用rabbitmq 消息队列实例

在这个示例中,我将向您展示如何在 Spring Boot 应用程序中使用 RabbitMQ 消息队列。我们将使用 Spring Boot 的 AMQP Starter 和 Spring 配置。

  1. 首先,创建一个新的 Spring Boot 项目,并添加以下依赖项到您的 build.gradlepom.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>
  1. application.propertiesapplication.yml 文件中配置 RabbitMQ 连接信息:
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
  1. 创建一个配置类,用于定义队列、交换器和绑定:
@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");
    }
}
  1. 创建一个消息发送者类,用于将消息发送到 RabbitMQ:
@Service
public class MessageSender {
    
    

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void sendMessage(String message) {
    
    
        rabbitTemplate.convertAndSend("myExchange", "my.routing.key", message);
    }
}
  1. 创建一个消息接收者类,用于从 RabbitMQ 接收消息:
@Service
public class MessageReceiver {
    
    

    @RabbitListener(queues = "myQueue")
    public void receiveMessage(String message) {
    
    
        System.out.println("Received message: " + message);
    }
}

现在,您可以在应用程序中使用 MessageSender 类发送消息,并通过 MessageReceiver 类接收消息。这个示例展示了何在 Spring Boot 应用程序中使用 RabbitMQ 进行基本的消息传递。您可以根据需要扩展此示例,以满足您的特定需求。

猜你喜欢

转载自blog.csdn.net/orton777/article/details/131229531