Message Middleware est d'une grande aide au découplage et à la suppression de pointe entre nos systèmes. Spring Boot intègre également le contenu de cette partie, et la chose la plus simple à intégrer est RabbitMQ. Aujourd'hui, nous utiliserons RabbitMQ comme exemple.
Les anciennes règles, jetons un coup d'œil au Pom en premier
<dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemps-boot-starter </ artifactid> </dendency> <dependency> <proupId> org.springframework.boot </prouprid> <prifactid> Spring-boot-starter-web </ artifactid> </dedency> <dependence> <GroupId> org.springframework.boot </proupId> <Ertifactid> printemps-boot-starter-amqp </etefactive> </dependency> <dependency> <proupId> org.projectlombok </prouprid> <arfactid> lombok </ artifactid> </dendency>
AMQP, ou protocole de mise en file d'attente de messages avancé, un protocole de file d'attente de messages avancé standard au niveau de l'application qui fournit des services de messagerie unifiés, est une norme ouverte du protocole au niveau de l'application et est conçu pour le middleware orienté messages. Les clients et les messages middleware basés sur ce protocole peuvent transmettre des messages et ne sont pas limités par différents produits et langages de développement des clients / middleware. Spring-Boot-Starter-AMQP présente Rabbitmq. Il y a une condition préalable: installez d'abord le serveur RabbitMQ sur votre machine, puis exécutez le serveur Rabbitmq-Server et démarrez-le. Après le démarrage, nous pouvons configurer notre programme client. Regardez d'abord notre fichier de configuration
Spring.Application.name: spirng-boot-rabbitmqspring.rabbitmq.host: 127.0.0.1spring.rabbitmq.port: 5672spring.rabbitmq.Username: invité
L'IP, le port, le nom d'utilisateur, le mot de passe et d'autres informations de base du serveur sont configurés pour nous assurer que nous pouvons nous connecter au serveur.
Ajouter une classe de configuration RabbitMQ
package com.shuqi; import org.springframework.amqp.core.queue; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; @configurationpublic class rabbitconfig {@Bean public Quereue () {return new queue ("bonjour"); }}Une file d'attente nommée Hello est créée, et le producteur peut mettre des données dans la file d'attente Hello, et le consommateur peut consommer des données de la file d'attente Hello. Découvrez le gestionnaire du producteur
package com.shuqi.controller; import org.springframework.amqp.core.amqptemplate; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestmappant; import org.springframework.web.bind.annotation.requestParam; import org.springframework.web.bind.annotation.restController; @RestControllerPublic class HelloController {@autowired private amqptemplate labbitTemplate; @RequestMapping ("/ Hello") String public Hello (@RequestParam String Name) {RabbitTemplate.ConvertandSend ("Hello", "Hello" + Name); Renvoie "Message envoyé avec succès"; }}Production de messages via le contrôleur et envoi des messages via Amqptemplate. Avec les producteurs, jetons un coup d'œil aux consommateurs
package com.shuqi.consumer; import lombok.extern.slf4j.slf4j; import org.springframework.amqp.rabbit.annotation.rabbithandler; import org.springframework.amqp.rabbit.annotation.rabbitListener; importation; org.springframework.sterreootype.component; @ composant @ labbitListener (quelles = "Bonjour") @ slf4jpublic class helloconsumer {@rabbithandler public void process (string hello) {log.info ("Message: Message: {}", bonjour); }}@RabbitListener (que les queues = "Bonjour") signifie qu'il s'agit d'un auditeur RabbitMQ. Le nom de la file d'attente de l'auditeur est Hello, ce qui signifie que les données viendront certainement. Lorsque les données arrivent, les données seront traitées via la méthode de modification @rabbithandler. Imprimez-le. Commençons le projet et voyons les résultats.
Entrez http: // localhost: 8080 / bonjour? Name = shuqi dans votre navigateur pour voir les résultats suivants
Découvrez la sortie des journaux de la console
2018-03-25 16: 24: 32.752 Info 4987 --- [CTASKEXECUTOR-1] com.shuqi.consumer.helloconsumer: Message reçu: Message: Bonjour Shuqi
Cela signifie que le message a été reçu et traité par le consommateur. Vous pouvez jouer avec.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.