Spring JMS и загрузка слушателя

#sockets #spring-jms

#сокеты #spring-jms

Вопрос:

Мы используем Spring JMS для чтения сообщений из очереди Oracle AQ.

Когда мы обрабатываем эти сообщения, мы отправляем их прямо в продукт поставщика, используя сокеты. При запуске нам нужно инициировать соединение с поставщиком, чтобы можно было отправлять сообщения,. Последние несколько дней я заметил, что сообщения считывались из очереди до того, как было установлено наше соединение с поставщиком.

Есть ли какой-либо способ остановить запуск прослушивателя JMS до тех пор, пока не будут загружены все наши другие компоненты.

Ответ №1:

Вы можете использовать @DependsOn аннотацию (или depends-on атрибут XML), чтобы заставить ваш JMS-прослушиватель ждать инициализации другого компонента (например, вашего компонента отправки сообщений).

Смотрите документацию Spring здесь.