RabbitMQ es una implementación de AMQP comúnmente utilizada. Este artículo es un tutorial simple sobre la integración de RabbitMQ con Spring Boot.
Instalar el servidor ActivemQ (tampoco puede instalarlo. Si no está instalado, usará la memoria MQ)
Construya el proyecto de arranque de primavera y agregue dependencias. Solo agregue este artículo
<
Agregar clase de aplicación
@Springbootapplication@habilscheduling // Enviar mensajes utilizando una tarea cronometrada clase pública mqtestapplication {public static void main (string [] args) {springapplication.run (mqtestapplication.class, args); }} Configurar Application.yml
Primavera: Activemq: Broker-URL: TCP: //127.0.01: 61616 PAQUETES: CONFIANS
Para crear un modelo de datos, los tipos de datos que se pueden enviar y consumir son: cadena, matriz de bytes, mapa <string,?>, Objeto serializable.
// Si el mensaje enviado es un objeto, debe implementar la interfaz de serializable, la clase pública tmodel implementa serializable {private static final long serialversionUid = -921008687184331557l; privado int count; public tmodel (int count) {this.count = count; } @Override public string toString () {return "tmodel [count =" + count + "]"; }} Construir un productor
@ComponentPublic Class Producer {// inyect JMstemPlate en el productor, podemos enviar mensajes a través de esta plantilla JMSTEMPLATE FINAL PRIVADA JMSTEMPLATE; private int count = 0; @AutoWired Public Producer (JMSTEMPLATE JMSTEMPLATE) {this.jmstemplate = jMstemPlate; } // Aquí usamos la tarea cronometrada de Spring Boot para enviar mensajes @scheduled (fijedRate = 1000) public void create () {// use ConvertandSend para enviar mensajes jmstemplate.convertandSend ("Queue1", new TModel (count ++)); }} Construir consumidor
@ComponentPublic Class Consumer {@jmslistener (destino = "queue1") public void comsume (tmodel content) {system.out.println ("Recive Mensaje de Queue1 [" + content + "]"); }}Nota especial: si nuestros productores y consumidores están en diferentes módulos, es mejor abstraer los datos que se consumirán en un módulo público. El programa serializa y deserializa objetos a través de serializables. Es necesario asegurarse de que la vida en serie del modelo de objeto del productor y el consumidor sea consistente.
Dirección del proyecto: https://github.com/ldwqh0/active-mq-spring.git
Ejemplo: Configure RabbitMQ y agregue una cola
@ConfigurationPublic Class Aqueue {@BeanPublic Public queue Queue () {return new Queue ("bueno");}}Defina un productor.
Cuando ActiveMQ está habilitado, se creará automáticamente una AMQPTEMPLAPLATE, que se puede inyectar en cualquier lugar que necesite. Podemos enviar mensajes a MQ a través de este AmqPtemplate
/*** Defina un productor*@author lidong*/@restcontroller@requestmapping ("/test") clase pública sendController {@aUtowiredPrivate amqptemplate plantplate; @getmappingpublic string testSend () {// envío de mensajes usando amqptemplate platplate.conververandsend ("bueno", "bueno"; "); return"; Defina al consumidor, especifique la cola del consumo especificando RabbitListener (colas = 'bueno')
@ComponentPublic Class Consumer {/*** Define un consumidor*@param Mensaje*/ @rabbitListener (queues = "bueno") public void Handler (mensaje de cadena) {System.out.println ("Mensaje de recive desde" + Mensaje);}}Inicie la prueba e ingrese http: // localhost: 8080/prueba en el navegador para enviar un mensaje a la cola. Este par de columnas puede ser procesado por el consumidor
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.