Spring Boot utilise l'instance de file d'attente de messages Rabbitmq

Dans cet exemple, je vais vous montrer comment utiliser la file d'attente de messages RabbitMQ dans une application Spring Boot. Nous utiliserons la configuration AMQP Starter et Spring de Spring Boot.

  1. Tout d’abord, créez un nouveau projet Spring Boot et ajoutez les dépendances suivantes à votre build.gradlefichierpom.xml :
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-amqp'
}

Ou, pour Maven :

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
</dependencies>
  1. Configurez les informations de connexion RabbitMQ dans ou dans application.propertiesun fichier :application.yml
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
  1. Créez une classe de configuration qui définit les files d'attente, les échangeurs et les liaisons :
@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. Créez une classe d'expéditeur de messages pour envoyer des messages à RabbitMQ :
@Service
public class MessageSender {
    
    

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void sendMessage(String message) {
    
    
        rabbitTemplate.convertAndSend("myExchange", "my.routing.key", message);
    }
}
  1. Créez une classe de récepteur de messages pour recevoir des messages de RabbitMQ :
@Service
public class MessageReceiver {
    
    

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

Vous pouvez désormais envoyer des messages dans votre application en utilisant MessageSenderla classe et MessageReceiverrecevoir des messages via la classe. Cet exemple montre comment utiliser RabbitMQ pour la messagerie de base dans une application Spring Boot. Vous pouvez étendre cet exemple si nécessaire pour répondre à vos besoins spécifiques.

おすすめ

転載: blog.csdn.net/orton777/article/details/131229531