Red de conocimiento informático - Problemas con los teléfonos móviles - SpringBoot integra el uso de RabbitMQ y Spring-boot-starter-amqp

SpringBoot integra el uso de RabbitMQ y Spring-boot-starter-amqp

Es muy conveniente utilizar RabbitMQ en el proyecto SpringBoot. Spring proporciona la dependencia spring-boot-starter-amqp, que se puede integrar perfectamente con Spring con una configuración simple.

Este artículo no presenta el conocimiento teórico de. RabbitMQ, pero principalmente presenta cómo usar rabbirMQ en primavera. Utilice rabbirMQ

Declare al consumidor, declare la cola y Exchange (si no existe) y vincúlelo

Productor

Conmutador predeterminado En realidad es un directo switch, que puede entenderse como un switch directo cuyo nombre es una cadena vacía. Si la cola no especifica un conmutador vinculante, se vinculará al conmutador predeterminado y la clave de enrutamiento será el nombre de la cola

Consumidor

Productor

La declaración corresponde a Tanto los consumidores de la cola uno como de la cola dos están vinculados a myFanoutExchange y, dado que es un conmutador de sector, las claves de enrutamiento son arbitrarias. routeKey es arbitraria

Productor

Declara múltiples consumidores, suponiendo que alguien ganó la lotería en una tienda de lotería y las estaciones de televisión de todos los niveles informaron el evento en las noticias.

Comodín #: una o más palabras, * una palabra

Productor

Resultado

Dos consumidores, una coincidencia exacta, una arbitraria coincidencia

Productor, en la imagen de arriba, ambos consumidores han recibido el mensaje

Echemos un vistazo a otra forma de escribir consumidores de aserciones

La imagen de arriba es un ejemplo de cómo escribir SpringBoot. Puede ver que para determinar colas o cambiarlas o vincularlas, solo necesita construir los objetos correspondientes en el contenedor Spring. Para determinar un oyente (consumidor), necesita construir un objeto MessageListenerContainer. ListenerContainer necesita saber al menos cómo conectarse al agente (ConnectionFactory), qué cola escuchar para recibir mensajes (QueueNames) y el método de procesamiento para recibir mensajes (MessageListenerAdapter).

En este punto, podemos adivinar que @RabbitListener corresponde a MessageListenerContainer, ConnectionFactory se inyectará automáticamente y el nombre de la cola se puede especificar como cola, declaración de cola o enlace. El nombre de la cola se puede especificar en la cola, queuesToDeclare o enlace, y el método para manejar el mensaje recibido se puede especificar en @RabbitHandler, o escribir @RabbitListener directamente en el método correspondiente.

Cómo configurar otros atributos de conmutadores y colas, como durabilidad, eliminación automática, etc.: use @Bean para construir el objeto correspondiente, establezca los atributos correspondientes en la línea y use la anotación @Queue o dentro de los atributos correspondientes @Exchange, configurado en línea

Cómo configurar otras propiedades del consumidor, como el método de confirmación del mensaje, el número de mensajes preprocesados, etc.

Cómo configurar otros atributos del consumidor, como el método de confirmación del mensaje, el número de mensajes preprocesados, etc. El número de mensajes preprocesados, etc.: utilice @Bean para construir el objeto MessageListenerContainer y establezca las propiedades correspondientes. Si hay una anotación @RabbitListener en la fábrica de contenedores, configúrela en la fábrica de contenedores.