ActiveMQ Artemis Anycast и Multicast префикс - PullRequest
0 голосов
/ 28 мая 2019

Я использую ActiveMQ Artemis версии 2.6.2 и использую Apache Camel для маршрутизации сообщений.

Когда я подключаю Camel с jms-компонентом в AMQ, по какой-то причине в ActiveMQ Artemis новая очередь создается сjms.queue. в качестве префикса.

Я знаю, если я добавлю следующий код на акцепторе в broker.xml, проблема решена.Но, к сожалению, у меня нет доступа для этого.

anycastPrefix=jms.queue.;multicastPrefix=jms.topic.

Есть ли способ решить эту проблему в коде Java?Я попробовал эти шаги, но безуспешно.

from("amq:QUEUE.TEST").setProperty("anycastPrefix", simple("jms.queue."))
from("amq:jms:queue:QUEUE.TEST")

1 Ответ

1 голос
/ 28 мая 2019

Причина, по которой очередь создается с префиксом jms.queue., почти наверняка объясняется тем, что Camel использует клиента Artemis 1.x вместо клиента 2.x. Клиент 1.x жестко задан для использования префиксов jms.queue. и jms.topic..

Как вы заметили, самый простой способ решить эту проблему - настроить префиксы на соответствующем акцепторе в broker.xml. Я не знаю ни одного способа решить эту проблему в коде Java. Я думаю, что вам лучше всего просто обновить клиентскую реализацию Artemis, которую использует Camel.

...