JBoss AMQ / ActiveMQ Artemis: предварительная настройка надежных подписчиков

У меня есть брокер Red Hat AMQ (основанный на ActiveMQ Artemis), и я хотел бы использовать функцию долговременной подписки (или эквивалентную), чтобы у меня было несколько подписчиков OpenWire JMS, подписывающихся на события нашего приложения, которые будут доставлен им надежно.

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

Я также хочу избежать упорядочивания последовательности запуска моих процессов.

Можно ли как-то предварительно настроить постоянных абонентов? В обычном ActiveMQ (не Artemis) есть такая функция, как Виртуальные темы, которая (вроде) решает проблему.

Какое решение является предпочтительным для ActiveMQ Artemis?

1 ответ

Можно предварительно настроить долговременные подписки, поскольку реализация OpenWire создает очередь, используемую для долговременной подписки, детерминистическим способом (т. Е. Используя формат client-id,subscription-name). Например, если вы хотите настроить постоянную подписку на адрес myAddress с идентификатором клиента myclientid и подписное имя mysubscription затем настройте долговременную подписку:

<addresses>
   <address name="myAddress">
       <multicast>
        <queue name="myclientid.mysubscription"/>
      </multicast>
   </address>
</addresses>
Другие вопросы по тегам