#spring #jms #amqp #qpid
#spring #jms #amqp #qpid
Вопрос:
Я пытаюсь обновить нашу старую настройку Qpid (на основе AMQP 0-X) до последней версии Qpid proton на основе AMQP 1.0 и сталкиваюсь с проблемой динамического создания длительных или недолговечных очередей / разделов из клиента. Раньше мы могли делать это, используя Spring jms-generic:queue:someQueueName
(или topic в некоторых наших случаях), который в конечном итоге создавал очередь или раздел для нас после прохождения через динамический преобразователь назначения. Однако, похоже, что это больше не так, поскольку createQueue/Topic
больше не создается фактическая очередь или тема (по крайней мере, то, что я прочитал в документах JMS относительно createQueue/Topic
).
Итак, мои опасения в конечном итоге сводятся к:
1) Возможно ли по-прежнему динамически создавать очереди и разделы, используя новейшую Qpid JMS и Broker-J,
2) и если да, то как я могу использовать Qpid JMS и Broker-J, чтобы это произошло?
Заранее спасибо за ваши ответы.
Примечание: Я полностью осознаю, что это довольно простой обзор высокого уровня, поэтому я могу предоставить больше деталей по мере необходимости. Я просто надеюсь, что кто-нибудь сможет окончательно ответить на (1), прежде чем я попытаюсь перейти к (2).
Ответ №1:
В новом клиенте JMS нет возможности автоматического создания очередей на основе адресной строки; отчасти это связано с тем, что AMQP 1.0 еще не определяет общий механизм создания очередей как таковой.
Qpid Broker-J поддерживает создание очередей / обменов / и т.д. Через протокол управления, Но другие брокеры / службы еще не стандартизировали это.
Системные тесты брокера используют управление AMQP для динамического создания объектов… https://github.com/apache/qpid-broker-j/blob/master/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
Комментарии:
1. Спасибо за комментарий, @Rob. Приношу свои извинения за то, что не ответил раньше. На самом деле я нашел эту информацию в тот день, когда изначально задал вопрос, но забыл обновить свои выводы. Я смог заставить Broker-J динамически создавать мои очереди и разделы после внесения незначительных изменений в мои uri очереди и разделов на основе некоторых подсказок в исходном коде Broker-J. Теперь мне просто нужно выяснить, как сообщить брокеру, чтобы сделать их долговечными!