Новое в данном релизе 1.6.0:
-
Реализована поддержка вложенных объектов-коллекций в заголовках сообщений, тем самым поддержаны сценарии многократной пересылки недоставленных сообщений по каналам dead-letters
-
Повышено удобство работы с формами подписок и рассылок, настроек соединения с серверами RabbitMQ
-
Расширен программный интерфейс обработки КлиентОчередиСообщений, добавлены методы прямой работы с библиотекой V8RMQClient
Исправлены выявленные ошибки
Вот что касается первой части - хочу отдельно прокоментировать:
- во первых выложен Вебинар @EvilBeaver https://www.youtube.com/watch?v=kBXlANK5-XQ
А во вторых вот что интересно.
- дело в что у любого сообщения есть заголовки - большая их часть это служебные заголовки, которые тем не менее доступны для организации логики. Например “Формат сообщения - XML, JSON, Base64”, “Очередь ответа - Reply-to” и т.д.
НО - доступны пользовательские заголовки которые может заполнять программист например
Сообщение.УстановитьЗаголовок("Важность", "Крайне высокая");
Работы с пользовательскими заголовками была доступна еще с предыдущих релизов но только для простых типов “Строка, Число”. Отличительное особенностью этого релиза стало то, что теперь можно устанавливать массив, а точнее словарь “ключ-значение” в качестве пользовательских заголовков, плюс на этом же функционале базируется и “массив параметров для мертвых сообщений”, чтобы организовать логику
ПотокОбработкиКоллизий.ПодписатьНаОчередь("коллизии", ПриПолученииКолизии());
Процедура ПриПолученииКоллизии(Сообщение)
Сообщить(Сообщение.ЗаголовкиКоллизии.ОчередьИсточник);
КонецПроцедуры
Сообственно - как используют пользовательские заголовки C# программисты (а именно для них в том числе и сделано это нововведение)
var props = model.CreateBasicProperties();
props.Headers = new Dictionary<string,object> { { "key", "some value" } };
props.Headers.Metadata = new Dictionary<string,object> { { "key", "some value" } };
То есть они добавляют отдельный пункт заголовков с идентификатором и сохраняют в нем метаданные применительно к сообщению. метаданные не в нашем 1С смысле, а метаданные необходимые для работы с телом сообщения.
Например - если отправляется событие изменения строк документа, то в метаданных зашивается ссылка на исходный объект, а в теле сообщение едет только объект строки.
Вообщем разное (в зависимости от задачи) может быть использование.
Апдейт разослан согласно действующим контрактам на обновление -
кнопка “Ой у нас нет подписки” распложена на странице продукта https://silverbulleters.org/rabbitmq