


Mit welcher Methode integriert SpringBoot die Nachrichtenwarteschlange RabbitMQ?
Einführung
Im Spring-Projekt können Sie Spring-Rabbit zum Betrieb von RabbitMQ verwenden.
Besonders im Spring-Boot-Projekt müssen Sie nur die entsprechende amqp-Starterabhängigkeit einführen. Zum Senden ist es praktisch, RabbitTemplate zu verwenden Nachrichten. Verwenden Sie Annotation, um Nachrichten zu empfangen.
Im Allgemeinen während des Entwicklungsprozesses:
Produzentenprojekt:
application.yml-Datei zum Konfigurieren von RabbitMQ-bezogenen Informationen;
Schreiben Sie Konfigurationsklassen im Produzentenprojekt, um Schalter und Warteschlangen zu erstellen, und binden Sie sie. Definieren Sie
, um das RabbitTemplate-Objekt einzufügen und Nachrichten über das RabbitTemplate-Objekt an den Switch zu senden.
Consumer Engineering:
application.yml-Datei, um RabbitMQ-bezogene Informationen zu konfigurieren Warteschlangennachricht empfangen und verarbeiten
Produktionsende
2. Geben Sie Start- und Abhängigkeitskoordinaten ein
und schließen Sie den Nachrichtenversand ab
Abhängigkeiten hinzufügen
Ändern Sie den Inhalt der pom.xml-Datei wie folgt:Startup-Klasse<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> </parent> <groupId>com.itheima</groupId> <artifactId>springboot-rabbitmq-producer</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies> </project>Nach dem Login kopierenpackage com.itheima.rabbitmq; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProducerApplication { public static void main(String[] args) { SpringApplication.run(ProducerApplication.class); } }Nach dem Login kopieren
RabbitMQ konfigurieren
Konfigurationsdatei
Erstellen Sie application.yml mit dem folgenden Inhalt:
Spring:Rabbitmq:
Host: LocalhostPort: 5672
Virtual-Host: /itcastBenutzername: Heima
Passwort: HeimaSwitch und Warteschlange binden
RabbitMQ-Warteschlange und Switch-Bindungskonfigurationsklasse com.itheima.rabbitmq erstellen .config.RabbitMQConfigpackage com.itheima.rahhitmq.config; import org.springframework.amqp.core.*; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration /// 配置类 public class RabbitMQConfig { public static final String EXCHAGE_NAME = "boot_topic_exchange"; public static final String QUEUE_NAME = "boot_queue"; // 交换机 @Bean("bootExchange") public Exchange bootExchange(){ // 构建交换机对象 return ExchangeBuilder.topicExchange(EXCHAGE_NAME).durable(true).build(); } //Queue 队列 @Bean("bootQueue") public Queue bootQueue(){ return QueueBuilder.durable(QUEUE_NAME).build(); } //队列和交换机的关系 Binding /** * 1 知道那个队列 * 2 知道那个交换机 * 3 routingKey */ @Bean public Binding bindQueueExchange(@Qualifier("bootQueue") Queue queue, @Qualifier("bootExchange") Exchange exchange){ return BindingBuilder.bind(queue).to(exchange).with("boot.#").noargs(); } }Nach dem Login kopieren
Erstellen Sie ein Verbraucherprojekt
Erstellen Sie ein Projekt
Produktionsende
1. Erstellen Sie ein Produzent-SpringBoot-Projekt
2. Geben Sie Start- und Abhängigkeitskoordinaten ein
org.springframework.boot
spring-boot -starter-amqp
Schreiben Sie die YML-Konfiguration und die grundlegende Informationskonfiguration.
Konfigurationsklassen, die Schalter, Warteschlangen und Bindungsbeziehungen definieren lautet wie folgt:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> </parent> <groupId>com.itheima</groupId> <artifactId>springboot-rabbitmq-consumer</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> </dependencies> </project>
package com.itheima.rabbitmq; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class); } }
Spring:
Rabbitmq:
Host: Localhost
Virtual-Host: /itcast
Benutzer Name: heimaPasswort: heima
Message-Listening-VerarbeitungsklasseNachrichten-Listener schreiben com.itheima.rabbitmq.listener.MyListenerpackage com.itheima.rabbitmq.listener; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; @Component public class MyListener { /** * 监听某个队列的消息 * @param message 接收到的消息 */ @RabbitListener(queues = "item_queue") public void myListener1(String message){ System.out.println("消费者接收到的消息为:" + message); } }
Das Produktionsende injiziert RabbitTemplate direkt, um den Nachrichtenversand abzuschließenVerbraucherende direkt verwenden @RabbitListener, um den Nachrichtenempfang abzuschließenErstellen Sie eine Testklasse im Produzentenprojekt springboot-rabbitmq-producer und senden Sie Nachrichten :
package com.itheima.rabbitmq; import com.itheima.rabbitmq.config.RabbitMQConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class RabbitMQTest { @Autowired private RabbitTemplate rabbitTemplate; @Test public void test(){ rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "商品新增,routing key 为item.insert"); rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.update", "商品修改,routing key 为item.update"); rabbitTemplate.convertAndSend(RabbitMQConfig.ITEM_TOPIC_EXCHANGE, "item.delete", "商品删除,routing key 为item.delete"); } }Nach dem Login kopieren
Führen Sie zuerst das obige Testprogramm aus (Schalter und Warteschlangen können zuerst deklariert und gebunden werden) und starten Sie dann den Verbraucher. Überprüfen Sie, ob die entsprechende Nachricht auf der Konsole im Verbraucherprojekt springboot-rabbitmq-consumer empfangen wird.
SpringBoot bietet eine Möglichkeit zur schnellen Integration von RabbitMQ
Grundlegende Informationen werden in yml konfiguriert, Warteschlangeninteraktor und Bindungsbeziehung werden mithilfe von Beans in der Konfigurationsklasse konfiguriert
Das obige ist der detaillierte Inhalt vonMit welcher Methode integriert SpringBoot die Nachrichtenwarteschlange RabbitMQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So erstellen Sie eine zuverlässige Messaging-Anwendung mit React und RabbitMQ Einführung: Moderne Anwendungen müssen zuverlässiges Messaging unterstützen, um Funktionen wie Echtzeitaktualisierungen und Datensynchronisierung zu erreichen. React ist eine beliebte JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen, während RabbitMQ eine zuverlässige Messaging-Middleware ist. In diesem Artikel wird erläutert, wie Sie React und RabbitMQ kombinieren, um eine zuverlässige Messaging-Anwendung zu erstellen, und es werden spezifische Codebeispiele bereitgestellt. RabbitMQ-Übersicht:

So verwenden Sie RabbitMQ, um die verteilte Nachrichtenverarbeitung in PHP zu implementieren. Einführung: In der groß angelegten Anwendungsentwicklung sind verteilte Systeme zu einer häufigen Anforderung geworden. Die verteilte Nachrichtenverarbeitung ist ein Muster, das die Effizienz und Zuverlässigkeit des Systems verbessert, indem Aufgaben auf mehrere Verarbeitungsknoten verteilt werden. RabbitMQ ist ein zuverlässiges Open-Source-Nachrichtenwarteschlangensystem, das das AMQP-Protokoll verwendet, um die Nachrichtenzustellung und -verarbeitung zu implementieren. In diesem Artikel erfahren Sie, wie Sie RabbitMQ in PHP zur Verteilung verwenden

SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

Da moderne Anwendungen immer komplexer werden, ist Messaging zu einem leistungsstarken Werkzeug geworden. In diesem Bereich hat sich RabbitMQ zu einem sehr beliebten Nachrichtenbroker entwickelt, mit dem Nachrichten zwischen verschiedenen Anwendungen übermittelt werden können. In diesem Artikel erfahren Sie, wie Sie RabbitMQ in der Go-Sprache verwenden. Dieses Handbuch behandelt Folgendes: Einführung in RabbitMQ RabbitMQ-Installation RabbitMQ-Grundkonzepte Erste Schritte mit RabbitMQ in Go RabbitMQ und Go

In diesem Artikel wird ein detailliertes Beispiel geschrieben, um über die tatsächliche Entwicklung von Dubbo + Nacos + Spring Boot zu sprechen. In diesem Artikel wird nicht zu viel theoretisches Wissen behandelt, sondern das einfachste Beispiel wird geschrieben, um zu veranschaulichen, wie Dubbo in Nacos integriert werden kann, um schnell eine Entwicklungsumgebung aufzubauen.

Einführung in die Lösung für die Echtzeit-Datensynchronisierung zwischen Golang und RabbitMQ: In der heutigen Zeit, mit der Popularität des Internets und dem explosionsartigen Wachstum des Datenvolumens, wird die Echtzeit-Datensynchronisierung immer wichtiger. Um die Probleme der asynchronen Datenübertragung und Datensynchronisierung zu lösen, haben viele Unternehmen damit begonnen, Nachrichtenwarteschlangen zu verwenden, um eine Echtzeitsynchronisierung von Daten zu erreichen. In diesem Artikel wird eine Echtzeit-Datensynchronisierungslösung basierend auf Golang und RabbitMQ vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Was ist RabbitMQ? Rabbi

Jetzt beginnen immer mehr Unternehmen, das Microservice-Architekturmodell zu übernehmen, und in dieser Architektur sind Nachrichtenwarteschlangen zu einer wichtigen Kommunikationsmethode geworden, unter denen RabbitMQ weit verbreitet ist. In der Go-Sprache ist Go-Zero ein Framework, das in den letzten Jahren entstanden ist. Es bietet Entwicklern eine einfachere Verwendung von Nachrichtenwarteschlangen. Im Folgenden werden wir Go-Zero anhand praktischer Anwendungen vorstellen und Anwendungspraxis von RabbitMQ. 1.RabbitMQ-ÜbersichtRabbit

GolangRabbitMQ: Der architektonische Entwurf und die Implementierung eines hochverfügbaren Nachrichtenwarteschlangensystems erfordern spezifische Codebeispiele. Einführung: Mit der kontinuierlichen Entwicklung der Internettechnologie und ihrer breiten Anwendung sind Nachrichtenwarteschlangen zu einem unverzichtbaren Bestandteil moderner Softwaresysteme geworden. Als Werkzeug zur Erzielung von Entkopplung, asynchroner Kommunikation, fehlertoleranter Verarbeitung und anderen Funktionen bietet die Nachrichtenwarteschlange Unterstützung für hohe Verfügbarkeit und Skalierbarkeit für verteilte Systeme. Als effiziente und prägnante Programmiersprache wird Golang häufig zum Aufbau von Systemen mit hoher Parallelität und hoher Leistung verwendet.
