Spring JMS e carregamento do ouvinte
-
27-10-2019 - |
Pergunta
Estamos usando Spring JMS para ler mensagens de uma fila Oracle AQ.
Quando processamos essas mensagens, nós as enviamos para um produto de fornecedor usando soquetes. Na inicialização, precisamos iniciar a conexão com o fornecedor para que as mensagens possam ser enviadas. Nos últimos dias, percebi que as mensagens estavam sendo lidas na fila antes de nossa conexão com o fornecedor ser estabelecida.
Existe alguma maneira de impedir o JMS Listener de iniciar até que todos os nossos outros beans sejam carregados.
Solução
Você pode usar a anotação @DependsOn
(ou atributo XML depends-on
) para fazer seu ouvinte JMS aguardar a inicialização de outro bean (por exemplo, seu componente de envio de mensagem).
Consulte a documentação do Spring aqui .