Configuración integrada de Spring Boot e IBM WebSphere MQ
Como marco para simplificar el desarrollo de Spring, Spring Boot integra ActiveMQ y RabbitMQ para nosotros. Simplemente configure algunos métodos de conexión MQ en Spring Boot y podrá usarlos de inmediato. Simplifica enormemente el proceso de desarrollo y configuración.
En comparación con la configuración XML tradicional, JavaConfig de Spring hace que la configuración sea más confiable y conveniente.
Este artículo explicará cómo integrar Spring con IBM WebSphere MQ (en adelante, IBM MQ) a través de JavaConfig, y también se puede utilizar como referencia para otras configuraciones de MQ.
Después del 17, el almacén oficial de Maven depende de ello.
El paquete de dependencia de conexión relacionado con IBM MQ es com.ibm.mq.allclient.jar. Este paquete no existe en el almacén público de Maven, por lo que debemos encontrar este paquete de dependencia e instalarlo manualmente. us En el repositorio local de Maven.
El paquete de dependencia se encuentra en [ruta de instalación de IBM MQ]\java\lib. La ruta de instalación predeterminada en Windows es C:\Archivos de programa\IBM\WebSphere MQ\, y la ruta de instalación predeterminada en Linux es /opt/mqm/. Puede copiar el paquete a los desarrolladores.
Instale el paquete en el repositorio local mediante el siguiente comando
En Idea, puede presionar la tecla Shift cuatro veces para que aparezca el cuadro de búsqueda global, escriba Ejecutar Maven Goal, espere para obtener los resultados de la búsqueda y presione La tecla Enter ejecuta el comando Maven. No es necesario escribir mvn al principio del comando al ejecutar el comando aquí.
Edite el archivo pom.xml del proyecto y agregue las siguientes tres dependencias, a saber,
Configure el archivo de configuración Spring Boot application.yml, aquí está el formato yaml. Para conocer el método de configuración de application.properties, consulte la descripción de Spring Boot.
Cree la clase JmsConfig, agregue la anotación @Configuration e inyecte los atributos anteriores en esta clase.
Agregue los siguientes métodos a la clase JmsConfig.
Si no configura esta clase, la conexión deberá volver a crearse cada vez que interactúe con MQ, lo que reduce en gran medida la velocidad.
Puedes saltarte este paso y no utilizar transacciones. Si necesita utilizar transacciones, puede agregar un comentario @enabletractionmanagement a la clase de entrada del programa. Para conocer el uso específico de las transacciones, consulte Spring Transactions.
JmsOperations es la interfaz de implementación de JmsTemplate.
Importante: Si no se establece setReceiveTimeout, cuando la cola esté vacía, el método de obtención de mensajes de la cola se suspenderá hasta que haya un mensaje en la cola.
Puedes utilizar directamente el método convertAndSend(String, Object) de jmsOperations. El primer parámetro es el nombre de la cola y el segundo parámetro es el objeto a enviar.
Importante: El objeto enviado debe implementar la interfaz de serialización.
Puede utilizar directamente el método recibirAndConvert(String) de jmsOperations. El primer parámetro es el nombre de la cola.
Para usar transacciones, simplemente agregue un comentario @transactional(value = " jmstransactionmanager ") al método.
Si tienes alguna pregunta, déjanos un mensaje.