Промежуточное программное обеспечение для сообщений очень помогает развязать и удалить пиковое удаление между нашими системами. Spring Boot также интегрирует содержимое этой части, и самая простая вещь для интеграции - это Rabbitmq. Сегодня мы будем использовать RabbitMQ в качестве примера.
Старые правила, давайте сначала посмотрим на POM
<dependency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter </artifactid> </depervice> <depervice> <groupid> org.springframework.boot </Groupid> <artifactid> spring-boot-starter-web </artifactid> </depertainty> <peyerty> </artepertindy> </artifactid> </Artifactid> </Artifactid> </GroupD> </artifactid> </artifactid> </GroupD> <groupId> org.springframework.boot </GroupId> <artifactId> Spring-boot-starter-amqp </artifactid> </depervice> <depervice> <groupid> org.projectlombok </Groupid> <ratifactid> lombok </artifactid> </зависимость>
AMQP, или расширенный протокол очередей сообщений, стандартный протокол очереди на уровне приложения, который предоставляет унифицированные услуги обмена сообщениями, является открытым стандартом протокола на уровне приложения и предназначен для среднего программного обеспечения, ориентированного на сообщения. Клиенты и промежуточное программное обеспечение на основе этого протокола могут передавать сообщения и не ограничиваются различными продуктами и языками развития клиентов/промежуточного программного обеспечения. Spring-Boot-Starter-AMQP представляет Rabbitmq. Существует предпосылка: сначала установите на вашем компьютере сервер RabbitMQ, затем выполните сервер RabbitMQ-Server и запустите его. После начала мы можем настроить нашу клиентскую программу. Сначала посмотрите на наш файл конфигурации
spring.application.name: spirng-boot-rabbitmqspring.rabbitmq.host: 127.0.0.1spring.rabbitmq.port: 5672spring.rabbitmq.username: гости.
IP, порт, имя пользователя, пароль и другая базовая информация сервера, чтобы убедиться, что мы можем подключиться к серверу.
Добавить класс конфигурации 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 Queue Queue() { return new Queue("hello"); }}Создана очередь с именем Hello, и производитель может поместить данные в очередь Hello, а потребитель может потреблять данные из очереди Hello. Проверьте обработчик продюсера
пакет com.shuqi.controller; import org.springframework.amqp.core.amqptemplate; import org.springframework.beans.factory.annotation.autowired; импорт org.springframework.web.bindtation.Requestmaping; importbramework.web.bindtation.Requestmapping; importBramework.w.bindtation.RevArameSparationSparation.Annatation.Requestmapping; org.springframework.web.bind.annotation.restcontroller; @RestControllerPublic Class HelloController {@autowired Private Amqptemplate Rabbittemplate; @Requestmapping ("/hello") public String hello (@RequestParam String name) {RabbitTemplate.convertAndsend ("Hello", "Hello"+name); вернуть "сообщение отправлено успешно"; }}Производство сообщений через контроллер и отправка сообщений через amqptemplate. С производителями давайте посмотрим на потребителей
пакет com.shuqi.consumer; import lombok.extern.slf4j.slf4j; импорт org.springframework.amqp.rabbit.annotation.rabbithandler; импорт org.springframework.amqp.rabbit.annotation.rabbitlistener; import. org.springframework.stereotype.component;@component@rabbitlistener (queues = "hello")@slf4jpublic class helloconsumer {@rabbithandler public void Process (String hello) {log.info ("Полученное сообщение: сообщение:}", Hello); }}@Rabbitlistener (queues = "hello") означает, что это слушатель Rabbitmq. Имя очереди слушателя - привет, что означает, что данные определенно придут. Когда данные поступят, данные будут обрабатываться с помощью метода модификации @RabBithAndler. Распечатать его. Давайте начнем проект и увидим результаты.
Введите http: // localhost: 8080/hello? Name = shuqi в вашем браузере, чтобы увидеть следующие результаты
Проверьте вывод журналов из консоли
2018-03-25 16: 24: 32.752 Информация 4987 --- [ctaskexecutor-1] com.shuqi.consumer.helloconsumer: получено сообщение: Сообщение: Привет, Шуки
Это означает, что сообщение было получено и обработано потребителем. Вы можете играть с этим.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.