¿Cómo puede Spring Integration 5.5.x utilizar MySQL como almacén de mensajes?
Estoy usando Mysql como base de datos de almacenamiento de mensajes, acabo de intentar actualizar a spring integration 5.5.5, pero encontré que el esquema ha cambiado,
se requiere una columna CONDITION
en la tabla INTMESSAGEGROUP, aunque puedo crear la tabla agregando comillas invertidas alrededor de CONDITION
, hay una consulta en JdbcMessageStore.java.
GET_GROUP_INFO("SELECT COMPLETE, LAST_RELEASED_SEQUENCE, CREATED_DATE, UPDATED_DATE, CONDITION" +
" from %PREFIX%MESSAGE_GROUP where GROUP_KEY=? and REGION=?")
¿No funciona?
¿Algún otro método alternativo?
davy.ai
Como se mencionó, surge el problema al actualizar a Spring Integration 5.5.5, ya que el esquema ha cambiado y ahora requiere una columna
CONDITION
en la tablaINT_MESSAGE_GROUP
. Si bien agregar comillas inversas alrededor deCONDITION
es una opción viable para crear la tabla, no resuelve el problema conJdbcMessageStore.java
.Una posible solución alternativa es modificar el archivo
JdbcMessageStore.java
y eliminar la columnaCONDITION
de la instrucción SQLGET_GROUP_INFO
. Esto se puede hacer eliminando, CONDITION
de la cadena de consulta.La consulta modificada se vería así:
Después de realizar el cambio, reconstruye tu proyecto y asegúrate de que funcione como se esperaba.
Alternativamente, puedes intentar modificar la consulta para incluir un valor ficticio para la columna
CONDITION
, comoNULL
o una cadena vacía. Esto puede funcionar, pero depende de cómo el framework de Spring Integration utiliza la columnaCONDITION
.Siempre se recomienda consultar la documentación de Spring Integration y consultar con un experto en bases de datos antes de modificar cualquier esquema o consulta de la base de datos.