Свойства узла процесса интеграции вида «RabbitMqНазначение»
Узел этого вида передает сообщения информационной системе, являющейся брокером сообщений RabbitMQ в указанный обмен (Exchange).
RabbitMQ использует протокол AMQP, основное отличие которого от JMS в том, что сообщение от системы-отправителя доставляется не непосредственно в очередь, а через Exchange, в котором определяется, в какую очередь будет доставлено сообщение.
Свойства узла
- ОбновлениеМетрик
- Обработчик, внутри которого можно обновлять метрики, добавленные в проект
разработчиком.
Пример:
// Разработчик добавил в проект метрику «СчетчикВУзле». Тогда обновить метрику в узлах // можно следующим образом: метод ОбновлениеМетрик(Контекст: МойПроцессИнтеграции.КонтекстВызова, Сообщение: МойПроцессИнтеграции.Сообщение) пер СчетчикВУзле = МойПроцессИнтеграции.Метрики["СчетчикВУзле"] СчетчикВУзле.Обновить(Сообщение.УзлыПути.Текущий.Узел.Имя, 1) ;
- ИмяОбмена
- Задает, в какую точку обмена будет доставлено сообщение для дальнейшего распределения по очередям.
- КлючМаршрутизации
- Ключ маршрутизации для RabbitMq. Этот ключ определит, куда будет направлено сообщение после попадания в exchange из RabbitMqИсточника.
- СохранятьСообщениеНаСторонеБрокера
-
Позволяет настроить сохранение сообщений на стороне брокера RabbitMQ.
Может принимать значения:
- СохранятьСообщение — отправленные из сообщения будут сохранены в брокере RabbitMQ
(будут отправлены «постоянные» (persistent) сообщения, со свойством
RabbitMQ-сообщения
DeliveryMode=2
);Важно: Для того чтобы сообщения сохранялись в RabbitMQ, помимо установки соответствующего значения свойства узла «RabbitMqНазначение» СохранятьСообщениеНаСторонеБрокера, также необходимо на стороне самого брокера:- Для обмена (Exchange) установить свойство
Durable=True
; - Для очереди (Queue) установить свойство
Durable=True
.
- Для обмена (Exchange) установить свойство
- НеCохранятьСообщение — отправленные из сообщения не будут сохранены в брокере RabbitMQ
(будут отправлены «временные» (transient) сообщения, со свойством
RabbitMQ-сообщения
DeliveryMode=1
); - ИзОбработчика — в случае, если выбрано данное значение, необходимо указать в свойстве ВыборСохраненияСообщенияНаСторонеБрокера имя обработчика, который будет определять следует ли сохранять сообщение на стороне RabbitMq или нет.
- СохранятьСообщение — отправленные из сообщения будут сохранены в брокере RabbitMQ
(будут отправлены «постоянные» (persistent) сообщения, со свойством
RabbitMQ-сообщения
- ВыборСохраненияСообщенияНаСторонеБрокера
- Обработчик, который позволяет на основе сообщения и процесса интеграции
определить, следует ли сохранять сообщение на стороне RabbitMq. Метод обработчика
возвращает Истина, если сообщение должно быть сохранено, иначе
Ложь. Необходимо указать в случае, если свойству
СохранятьСообщениеНаСторонеБрокера задано значение
ИзОбработчика.
Пример:
метод ВыборСохраненияСообщенияНаСторонеБрокера(Контекст: <ИмяПроцессаИнтеграции>.КонтекстВызова, Сообщение: <ИмяПроцессаИнтеграции>.Сообщение): Булево если Сообщение.Отправитель.Код == "БУХ" возврат Истина иначе возврат Ложь ; ;
- Длительность хранения доставленных сообщений в формате ДД.ЧЧ
-
Определяет время, в течение которого будут храниться сообщения, доставленные в данный узел. Задается в пользовательском интерфейсе приложения, в карточке процесса интеграции, в свойствах узла. Недоступно в среде разработки.
Длительность задается в формате ДД:ЧЧ (например, 10:02 — 10 дней и 2 часа). Если указать длительность равную 00:00, то доставленные сообщения для данного узла не будут сохраняться в . Длительность хранения должна быть равна 00:00 (по-умолчанию) либо больше или равна 00:01.
Пример использования
Контекст: Осуществляется отправка сообщения из системы «1С» в RabbitMQ.
Задача: Отправить сообщение из в брокер сообщений RabbitMQ.
Решение: Сообщение приходит в от участника из группы «Отправитель» и попадает в узел Канал1СИсточник. В этом узле создается очередь, в которую полученное сообщение сохраняется. Далее используем узел «RabbitMqНазначение», чтобы подключиться к обмену (Exchange) брокера RabbitMQ. На последнем шаге сообщение считывается из очереди и записывается в обмен (Exchange) брокера RabbitMQ.