2015-10-07 3 views
2

Я использую RabbitMQ в качестве брокера Stomp для приложения Spring Websocket. Клиент использует библиотеку SockJS для подключения к интерфейсу websocket. Каждая очередь, созданная на RabbitMQ весной, долговечна, а темы не долговечны. Есть ли способ сделать очереди не долговечными? Я не думаю, что могу настроить на стороне приложения. Я немного поиграл с конфигурацией RabbitMQ, но не смог настроить его.Spring + RabbitMQ делает очереди не долговечными

Пример назначения на RabbitMQ используется для ПОДПИСАТЬСЯ и SEND:

услуги пользователь-_385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92

+0

Можете ли вы показать код, который создает обмен очередями. Короче: да, это возможно. Но, как написано, ваш вопрос непонятен, и вам трудно помочь. Свойства, которые вы запрашиваете (долговечность), действительно настроены на стороне приложения (как почти все в RabbitMQ). Итак, неясно, что вы имеете в виду «Я не думаю, что могу настроить на стороне приложения». – pinepain

+0

Код обычно следует этому образцу https://github.com/rstoyanchev/spring-websocket-portfolio. Единственное различие заключается в том, что он использует полнофункциональный брокер сообщений вместо встроенного в Spring. – Damian

+0

Я знаю, что можно установить очередь как не долговечную в протоколе AMQP, но я намеренно упомянул, что это приложение Spring Websocket, использующее протокол Stomp. – Damian

ответ

2

Это будет возможно указать свойства для конечных точек от RabbitMQ 3.6.0 согласно комментарии в вопросах RabbitMQ - https://github.com/rabbitmq/rabbitmq-stomp/issues/24#issuecomment-137896165:

от 3.6.0, можно будет явно определить свойства для е ndpoints, такие как/topic/и/queue с использованием заголовков подписчиков: длительный, автоматически удаляемый и исключительный, соответственно.

В качестве обходного пути вы можете попытаться создать очереди самостоятельно, используя AMQP-протокол, а затем обратиться к этим очередям из протокола STOMP.

Смежные вопросы