SpringBoot integra el uso de RabbitMQ y Spring-boot-starter-amqp
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.