Spring JMS e caricamento dell'ascoltatore
-
27-10-2019 - |
Domanda
Stiamo utilizzando Spring JMS per leggere i messaggi da una coda Oracle AQ.
Quando elaboriamo questi messaggi, li inviamo a un prodotto del fornitore utilizzando i socket. All'avvio, dobbiamo avviare la connessione al fornitore in modo che i messaggi possano essere inviati. Negli ultimi giorni, ho notato che i messaggi venivano letti dalla coda prima che fosse stabilita la nostra connessione al fornitore.
Esiste un modo per impedire l'avvio di JMS Listener fino a quando tutti gli altri nostri bean non vengono caricati.
Soluzione
È possibile utilizzare l'annotazione @DependsOn
(o l'attributo XML depends-on
) per fare in modo che il listener JMS attenda che un altro bean (ad esempio il componente di invio del messaggio) venga inizializzato.
Consulta la documentazione di primavera qui .