Message Middleware es de gran ayuda para desacoplar y eliminar pico entre nuestros sistemas. Spring Boot también integra el contenido de esta parte, y lo más fácil de integrar es RabbitMQ. Hoy usaremos RabbitMQ como ejemplo.
Las viejas reglas, echemos un vistazo a la pom.
<Spendency> <ProupId> org.springframework.boot </groupid> <artifactID> spring-boot-starter </arfactid> </pendency> <pendency> <grupoD> org.springframework.boot </groupId> <artifactid> spring-boot-starter-web </artifactid> </tependency> <pendency> <MoupRid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-amqp </arfactid> </dependency> <pepertency> <grupid> org.projectlombok </proupid> <artifactid> lombok </artifactid> </pendency>
AMQP, o el protocolo avanzado de cola de mensajes, un protocolo de cola de mensajes avanzado estándar de nivel de aplicación que proporciona servicios de mensajería unificada, es un estándar abierto del protocolo a nivel de aplicación y está diseñado para el middleware orientado a mensajes. Los clientes y el middleware de mensajes basados en este protocolo pueden pasar mensajes, y no están restringidos por diferentes productos y lenguajes de desarrollo de clientes/middleware. Spring-Boot-Starter-AMQP presenta Rabbitmq. Hay un requisito previo: primero instale el servidor RabbitMQ en su máquina y luego ejecute el servidor RabbitMQ-server y comience. Después de comenzar, podemos configurar nuestro programa cliente. Primero busque nuestro archivo de configuración
Spring.application.Name: Spirng-Boot-Rabbitmqspring.rabbitmq.host: 127.0.0.1spring.rabbitmq.port: 5672spring.rabbitmq.username: invitados
La IP, el puerto, el nombre de usuario, la contraseña y otra información básica del servidor están configurados para garantizar que podamos conectarnos al servidor.
Agregue una clase de configuración de RabbitMQ
paquete com.shuqi; import org.springframework.amqp.core.queue; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; @configuration helloPUnsic rabbitconfig {@Bean hoj }}Se crea una cola llamada Hello, y el productor puede poner datos en la cola Hello, y el consumidor puede consumir datos de la cola Hello. Mira el manejador del productor
paquete com.shuqi.controller; import org.springframework.amqp.core.amqptemplate; import org.springframework.beans.factory.annotation.aUtowired; import org.springframework.web.bind.annotation.requestmapping; import; org.springframework.web.bind.annotation.requestparam; import org.springframework.web.bind.annotation.restcontroller; @restcontrollerpublic class hellocontroller {@aUtowired amqptemplate rabbittemplate; @RequestMapping ("/Hello") Public String Hello (@RequestParam String Name) {rabBittemplate.convertandSend ("hola", "hola"+nombre); devolver "mensaje enviado correctamente"; }}Producción de mensajes a través del controlador y el envío de mensajes a través de AMQPTemplate. Con los productores, echemos un vistazo a los consumidores
paquete com.shuqi.consumer; import lombok.extern.slf4j.slf4j; import org.springframework.amqp.rabbit.annotation.rabbithandler; import org.springframework.amqp.rabbit.annotation.rabbitlistener; import; org. }}
@RabbitListener (queues = "Hola") significa que es un oyente de RabbitMQ. El nombre de la cola del oyente es hola, lo que significa que los datos definitivamente vendrán. Cuando llegan los datos, los datos se procesarán a través del método de modificación @Rabbithandler. Imprimirlo. Comencemos el proyecto y veamos los resultados.
Ingrese http: // localhost: 8080/hello? Name = shuqi en su navegador para ver los siguientes resultados
Consulte la salida de registros de la consola
2018-03-25 16: 24: 32.752 INFO 4987 --- [CTASKEXECUTOR-1] com.shuqi.consumer.helloconsumer: Mensaje recibido: Mensaje: Hola shuqi
Esto significa que el mensaje ha sido recibido y procesado por el consumidor. Puedes jugar con él.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.