Вместо использования isRegisteredWithDestination () я использую это условие «amqBroker.getRegionBroker (). GetDestinationMap (). ContainsKey (myTopic)», которое, кажется, работает. amqBroker - это компонент BrokerService.

я есть тест интеграции для моей конфигурации Spring Integration, который использует сообщения из темы JMS с длительной подпиской. Для тестирования я использую ActiveMQ вместо Tibco EMS. У меня проблема в том, что я должен отложить отправку первого сообщения в конечную точку с помощью неактивного вызова в начале нашего тестового метода. В противном случае сообщение сбрасывается. Если я уберу настройки для длительной подписки и селектора, то первое сообщение может быть отправлено сразу же без задержки. Я хотел бы избавиться от сна, который ненадежен. Есть ли способ проверить, полностью ли настроена конечная точка, прежде чем отправить сообщение? Ниже приведена конфигурация.

Спасибо за вашу помощь!

    <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"/>

Ответы на вопрос(1)

Ваш ответ на вопрос