Create internal exchange
Использую Nuget-пакет RabbitMQ.Client версии 6.2.2
Мне требуется подключится к amq.rabbitmq.event, созданному Event Exchange Plugin. Не смог найти программного функционала для подключения с параметром internal = true.
Метод IModel.ExchangeDeclare не имеет перегрузок с параметром internal. Пробовал передать параметр с помощью arguments (это разные варианты, какие пробовал, думал вдруг там точная проверка на соответсвие текста имени настройки):
arguments = new Dictionary<string, object> { {"internal", true} };
arguments = new Dictionary<string, object> { {"internal", "true"} };
arguments = new Dictionary<string, object> { {"Internal", true} };
arguments = new Dictionary<string, object> { {"Internal", "true"} };
Однако все варианты создают Exchange именно с arguments, а мне нужен параметр internal. Который есть, как мне удалось найти, в языке Go, и видно в интерфейсе в браузере (из соответствующего плагина)
Ответы (1 шт):
Как выяснилось в итоге по каким то причинам Nuget пакет RabbitMQ.Client не содержит методов для управления параметром Internal, в отличии от например языка Go, у которого такая перегрузка имеется.
Исходная цель была не колхозить с подключениями и сделать новое подключения в рамках ООП. Однако в связи с этой особенностью пришлось ставить проверку на наличие в конфиге этого параметра и пропускать вызов ExchangeDeclare при соответствующим флаге.
Видимо я неправильно понял принцип RabbitMQ, т.к. к Exchange в данном случае мне подключаться не надо, его создаст и с ним работает сам RabbitMQ (плагин, если точнее).
Осталось только недоумение зачем такая возможность другим языкам.