Может кто-нибудь объяснить использование параметра isExclusive
конструктора для типа EasyNetQ.Topology.Queue.
Примечание. Этот тип необходимо создать для удаления очереди с помощью Advanced API.
Может кто-нибудь объяснить использование параметра isExclusive
конструктора для типа EasyNetQ.Topology.Queue.
Примечание. Этот тип необходимо создать для удаления очереди с помощью Advanced API.
Из документов AMQP.
«Исключительные очереди могут быть доступны только текущему соединению и удаляются, когда это соединение закрывается. Пассивное объявление эксклюзивной очереди другими соединениями не допускается».
Перед удалением рекомендуется убедиться, что очередь существует. Выполнение пассивного объявления (которое не создаст очередь, если она не существует) вернет экземпляр IQueue, который затем можно использовать для его удаления, и вам не нужно беспокоиться о параметре isExclusive:
// may throw if queue doesn't exist
var queue = advancedBus.QueueDeclare("my.queue.name", passive = true);
advancedBus.QueueDelete(queue);
Как в сторону. Параметр isExclusive IQueue не используется в методе IAdvancedBus.Delete(..), поэтому вы можете спокойно его игнорировать (с оговоркой, что это может измениться в будущих версиях).