el adaptador de canal controlado por mensaje descarta el primer mensaje después del inicio del contexto de la aplicación a menos que se llame a enviar con retraso
Tengo una prueba de integración para mi configuración de Spring Integration, que consume mensajes de un tema de JMS con suscripción duradera. Para las pruebas, estoy usando ActiveMQ en lugar de Tibco EMS. El problema que tengo es que tengo que retrasar el envío del primer mensaje al punto final usando una llamada de suspensión al comienzo de nuestro método de prueba. De lo contrario, el mensaje se descarta. Si elimino la configuración de suscripción duradera y selector, el primer mensaje se puede enviar de inmediato sin demora. Me gustaría deshacerme del sueño, que no es confiable. ¿Hay alguna forma de verificar si el punto final está completamente configurado antes de enviar el mensaje? A continuación se muestra la configuración.
¡Gracias por tu ayuda!
<int-jms:message-driven-channel-adapter
id="myConsumer" connection-factory="myCachedConnectionFactory"
destination="myTopic" channel="myChannel" error-channel="errorChannel"
pub-sub-domain="true" subscription-durable="true"
durable-subscription-name="testDurable"
selector="..."
transaction-manager="emsTransactionManager" auto-startup="false"/>