Spring JMS и загрузка слушателя
-
27-10-2019 - |
Вопрос
Мы используем Spring JMS для чтения сообщений из очереди Oracle AQ.
Когда мы обрабатываем эти сообщения, мы отправляем их к продукту поставщика с помощью сокетов. При запуске нам нужно инициировать соединение с поставщиком, чтобы можно было отправлять сообщения. В последние несколько дней я заметил, что сообщения читались из очереди до того, как было установлено наше соединение с поставщиком.
Есть ли способ остановить запуск прослушивателя JMS до тех пор, пока не будут загружены все наши bean-компоненты.
Решение
Вы можете использовать аннотацию @DependsOn
(или атрибут XML depends-on
), чтобы ваш слушатель JMS ожидал инициализации другого bean-компонента (например, вашего компонента отправки сообщения).
См. здесь