Message Middleware ist von großer Hilfe bei der Entkopplung und Spitzenentfernung zwischen unseren Systemen. Spring Boot integriert auch den Inhalt dieses Teils, und das am einfachsten zu integrieren ist Rabbitmq. Heute werden wir Rabbitmq als Beispiel verwenden.
Die alten Regeln werfen wir zuerst einen Blick auf den POM
<Depopenty> <gruppe> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter </artifactId> </abhängig> <depectIns <GroupID> org.springFramework <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Amqp </artifactid> </abhängig> <depecing> <Groupid> org.projectlombok </Groupid> <artifactId> lombok </artifactid> </Defency>
AMQP oder Advanced Message Queuing Protocol, ein standardmäßiges Warteschlangenprotokoll auf Anwendungsebene, das Unified Messaging-Dienste anbietet, ist ein offener Standard des Protokolls auf Anwendungsebene und ist für meldungsorientierte Middleware ausgelegt. Clients und Message Middleware basierend auf diesem Protokoll können Nachrichten übergeben und sind nicht durch verschiedene Produkte und Entwicklungssprachen von Clients/Middleware eingeschränkt. Spring-Boot-Starter-AMQP führt Rabbitmq ein. Es gibt eine Voraussetzung: Installieren Sie zuerst den Rabbitmq-Server auf Ihrem Computer und führen Sie dann Rabbitmq-Server-Server aus und starten Sie ihn. Nach dem Start können wir unser Client -Programm konfigurieren. Schauen Sie sich zunächst unsere Konfigurationsdatei an
spring.application.name: spirng-boot-rabbitmqspring.rabbitmq.host: 127.0.0.1spring.rabbitmq.port: 5672Spring.rabbitmq.Unername: GuestSpring.Rabbitmq.Password: Guest: GuestMq.Unername: Guestspring.Rabbitmq.Password:
Die IP-, Port-, Benutzername, Kennwort und andere grundlegende Informationen des Servers werden konfiguriert, um sicherzustellen, dass wir eine Verbindung zum Server herstellen können.
Fügen Sie eine Rabbitmq -Konfigurationsklasse hinzu
Paket com.shuqi; import org.springframework.amqp.core.queue; import org.springframework.context.annotation.bean; }}
Eine Warteschlange namens Hello wird erstellt, und der Produzent kann Daten in die Hello -Warteschlange einfügen, und der Verbraucher kann Daten aus der Hello -Warteschlange konsumieren. Schauen Sie sich den Handler des Herstellers an
Paket com.shuqi.controller; import org.springframework.amqp.core.amqptemplate; import org.springframework.bean.factory.annotation.autowired; org.springFramework.web.bind.annotation.Requestparam; import org.springframework.web.bind.annotation.restController; @restControllerPublic Class HelloConTroller {@autowired private amqptemplate rabbittemplate; @RequestMapping ("/hello") public String Hallo (@RequestParam String Name) {Rabbittemplate.ConvertandSend ("Hallo", "Hallo"+Name); zurück "meldung erfolgreich gesendet"; }}Produktion von Nachrichten über Controller und Senden von Nachrichten über AmQptemplate. Schauen wir uns mit Produzenten die Verbraucher an
Paket com.shuqi.consumer; import lombok.extern.slf4j.slf4j; org.springframework.stereotype.comPonent;@component@rabbitListener (queues = "hello")@Slf4JPublic Class HelloConsumer {@rabbitHandler public void void prozess (String Hallo) {log.info ("em Meldung: {{} ", Hallo); }}@RabbitListener (queues = "Hallo") bedeutet, dass es sich um einen Rabbitmq -Hörer handelt. Der Warteschlangenname des Hörers ist Hallo, was bedeutet, dass die Daten definitiv kommen werden. Wenn die Daten kommen, werden die Daten über die @rabbitHandler -Modifikationsmethode verarbeitet. Drucken Sie es aus. Beginnen wir das Projekt und sehen Sie die Ergebnisse an.
Geben Sie http: // localhost: 8080/hello? Name = shuqi in Ihrem Browser ein, um die folgenden Ergebnisse anzuzeigen
Schauen Sie sich die Ausgabe der Protokolle aus der Konsole an
2018-03-25 16: 24: 32.752 Info 4987 --- [ctaskexecutor-1] com.shuqi.consumer.helloconsumer: Empfangene Nachricht: Nachricht: Hallo Shuqi
Dies bedeutet, dass die Nachricht vom Verbraucher empfangen und verarbeitet wurde. Sie können damit spielen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.