Spring Boot bietet eine automatisierte Konfiguration von RabbitMQ, was die Integration von RabbitMQ sehr einfach macht.
Zuerst müssen Sie die Abhängigkeiten amqp-client und spring-boot-starter-amqp in die Datei pom.xml einführen:
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.5.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
Als Nächstes müssen Sie die RabbitMQ-Verbindungsinformationen in der Datei application.properties konfigurieren:
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/
Dann schreiben Sie den Absender der Nachricht:
@Component
public class RabbitMQSender {
private final RabbitTemplate rabbitTemplate;
public RabbitMQSender(RabbitTemplate rabbitTemplate) {
this.rabbitTemplate = rabbitTemplate;
}
public void send(String message) {
rabbitTemplate.convertAndSend("my-exchange", "my-routing-key", message);
}
}
Unter diesen sind „my-exchange“ und „my-routing-key“ Switch- und Routing-Schlüssel, die Sie selbst definieren müssen.
Schreiben Sie abschließend den Nachrichtenkonsumenten:
@Component
public class RabbitMQReceiver {
@RabbitListener(queues = "my-queue")
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
Unter diesen ist my-queue auch eine Warteschlange, die Sie selbst definieren müssen.
Nachdem die oben genannten Schritte abgeschlossen sind, kann das Senden und Konsumieren von Nachrichten realisiert werden.