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.
- Tout d’abord, créez un nouveau projet Spring Boot et ajoutez les dépendances suivantes à votre
build.gradle
fichierpom.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>
- Configurez les informations de connexion RabbitMQ dans ou dans
application.properties
un fichier :application.yml
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
- 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");
}
}
- 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);
}
}
- 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 MessageSender
la classe et MessageReceiver
recevoir 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.