Le mode de travail de Java RabbitMQ consiste à configurer plusieurs consommateurs pour consommer des messages à partir d'une seule file, ce qui peut améliorer la vitesse de traitement concurrente des messages. L'architecture est illustrée dans le schéma suivant.

RabbitMQ Work Mode

Remarque : Peu importe le mode de travail utilisé dans RabbitMQ, chaque file prend en charge plusieurs consommateurs. Pour la même file, un message ne sera traité que par l'un des consommateurs.

1. Tutoriel préliminaire

Veuillez lire les sections suivantes en premier pour comprendre les connaissances connexes.

2. Configuration de plusieurs consommateurs

En utilisant l'annotation RabbitListener et en configurant le paramètre de concurrence, vous pouvez démarrer 10 consommateurs pour traiter simultanément les messages avec le code suivant.

package com.tizi365.rabbitmq.listener;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
// Déclarer le récepteur de message et spécifier la file à écouter via le paramètre queues
// Paramètre clé : la concurrence représente le nombre de consommateurs qui doivent être démarrés pour le récepteur actuel, et son type est une chaîne
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// Utilisez RabbitHandler pour marquer le gestionnaire de message, qui est utilisé pour exécuter la logique de traitement des messages
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("Consommateur - Message reçu : '" + msg + "'");
    }
}