Кастомные теги
Кастомные теги представляют собой мощные инструменты в интеграционной платформе, обеспечивая гибкость в настройке и создании интеграционных процессов.
С их помощью можно выбирать и указывать коннекторы для связи с внешними системами, выполнять специальные операции перед обработкой данных, задавать точные пункты назначения для отправки данных, добавлять метаданные для отслеживания и управления процессами и многое другое.
Кастомные теги придают интеграционной платформе уникальные возможности и обеспечивают точный контроль над интеграционными процессами, делая их более гибкими и эффективными.
Каждый из тегов имеет свою специфическую роль и может быть применен для упрощения и точной настройки различных аспектов интеграции.
| Tag | Размещение | Краткое описание |
|---|---|---|
<connector-selector /> |
Out-Flow → Output connector selector |
выбор коннектора на основе свойств и шаблонов |
<in-flow-pre-route-start /> |
In-Flow → pre-route |
обозначение начала предварительной конфигурации входного потока перед маршрутизацией |
<out-flow-pre-route-start /> |
Out-Flow → pre-route |
обозначение начала предварительной конфигурации выходного потока перед маршрутизацией |
<set-destination /> |
In-Flow → pre-route |
указание имени целевой системы |
<entaxy-trace /> |
во всех точках кастомизации |
используется для отслеживания маршрута прохождения данных |
<respond /> |
In-Flow → pre-route |
начать отправку ответа сейчас и продолжить обработку данных |
<to-connection /> |
In-Flow → pre-route |
используется для указания пути, по которому данные будут переданы на конкретную коннекцию |
<xslt /> |
во всех точках кастомизации |
используется для xslt-преобразования пакета при помощи xslt-ресурса |
<default-destination /> |
In-Flow → pre-route |
установка значений заголовков для маршрутизации или обработки данных по умолчанию |
<next-route /> |
In-Flow → pre-route |
обход дефолтного маршрута, с указанием заголовка следующей точки маршрута |
<standard-router> |
default-route |
используется для маршрутизации данных на основе заданных правил или условий |
<prefer-connector /> |
In-Flow → pre-route |
параметр выбора выходного коннектора |
connector-selector
Описание: Тег определяет механизм выбора коннектора на основе заданных свойств и шаблонов.
<?xml version="1.0" encoding="UTF-8"?>
<route>
<choice>
<when>
<simple>${headers.in} == null</simple>
<connector-selector>
<properties-to-use>
<property>connector.type</property>
<property>connector.protocol</property>
<property>connector.classifier</property>
</properties-to-use>
<patterns>
<pattern>=:=:=</pattern>
<pattern>=:=:*</pattern>
<pattern>=:*:*</pattern>
<pattern>*:=:=</pattern>
<pattern>*:=:*</pattern>
</patterns>
<options>
<fail-back-to-legacy-router />
<use-the-only-connector />
<use-default-connector />
<allow-all-stars-pattern>false</allow-all-stars-pattern>
<treat-no-property-as-any>false</treat-no-property-as-any>
</options>
</connector-selector>
</when>
<otherwise>
<connector-selector>
<properties-to-use>
<property>connector.type</property>
<property>connector.protocol</property>
<property>connector.classifier</property>
</properties-to-use>
<patterns>
<pattern>=:=:=</pattern>
<pattern>=:=:*</pattern>
<pattern>=:*:*</pattern>
<pattern>*:=:=</pattern>
<pattern>*:=:*</pattern>
<pattern>*:*:*</pattern>
</patterns>
<options>
<fail-back-to-legacy-router />
<use-the-only-connector>false</use-the-only-connector>
<use-default-connector>false</use-default-connector>
<allow-all-stars-pattern>false</allow-all-stars-pattern>
<treat-no-property-as-any>false</treat-no-property-as-any>
</options>
</connector-selector>
</otherwise>
</choice>
</route>
Внутренние теги:
<properties-to-use> - содержит список свойств, которые будут использованы при выборе коннектора:
-
<property>connector.type</property> - тип коннектора
-
<property>connector.protocol</property> - протокол коннектора
-
<property>connector.classifier</property> - классификатор коннектора
<patterns> - содержит список шаблонов, которые будут сопоставлены с переданными параметрами для выбора соответствующего коннектора:
-
<pattern>=:=:=</pattern> - соответствует точным значениям всех трех свойств (connector.type, connector.protocol и connector.classifier).
-
<pattern>=:=:*</pattern> - соответствует точным значениям первых двух свойств (connector.type и connector.protocol), а значение connector.classifier может быть любым.
-
<pattern>=:*:*</pattern> - соответствует точному значению connector.type и любым значениям connector.protocol и connector.classifier.
-
<pattern>*:=:=</pattern> - соответствует любому значению connector.type и точным значениям connector.protocol и connector.classifier.
-
<pattern>*:=:*</pattern> - соответствует любому значению connector.type и connector.classifier и точному значению connector.protocol.
<options> - элемент содержит дополнительные настройки для выбора коннектора:
-
<fail-back-to-legacy-router /> - если не удалось выбрать коннектор с использованием <connector-selector> система вернется к использованию legacy маршрутизации.
-
<use-the-only-connector /> - если в системе существует только один коннектор, то он будет автоматически использован.
-
<use-default-connector /> - использовать коннектор по умолчанию.
-
<allow-all-stars-pattern>false</allow-all-stars-pattern> - запретить использование шаблона со звездочкой (*) для всех свойств.
-
<treat-no-property-as-any>false</treat-no-property-as-any> - если в коннекторе нет property, то рассматривать ли это как любое значение property или нет.
in-flow-pre-route-start и out-flow-pre-route-start
Описание: Тег служит для обозначения начала этапа предварительной конфигурации входного (IN)/выходного (OUT) потока перед началом маршрутизации. Это может быть полезно при настройке дополнительных параметров или операций необходимых перед маршрутизацией данных.
in-flow-pre-route-start:
<?xml version="1.0" encoding="UTF-8"?>
<route>
<in-flow-pre-route-start />
<setProperty name="NTX_profile_in_preRouted">
<constant>true</constant>
</setProperty>
</route>
out-flow-pre-route-start:
<?xml version="1.0" encoding="UTF-8"?>
<route>
<out-flow-pre-route-start />
<setProperty name="NTX_profile_out_preRouted">
<constant>true</constant>
</setProperty>
</route>
set-destination
Описание: Тег служит для указания имени целевой системы.
<?xml version="1.0" encoding="UTF-8"?>
<route>
<from uri="direct:pre-route" />
<setProperty name="NTX_connector_preRouted">
<constant>true</constant>
</setProperty>
<set-destination>system-b</set-destination>
</route>
entaxy-trace
Описание: Тег используется для отслеживания маршрута прохождения данных.
<?xml version="1.0" encoding="UTF-8"?>
<route>
<in-flow-pre-route-start />
<setProperty name="NTX_profile_in_preRouted">
<constant>true</constant>
</setProperty>
<entaxy-trace>
<simple>any text</simple>
</entaxy-trace>
</route>
respond
Описание: Используется для управления потоком данных и маршрутизацией в процессе интеграции.
В точке кастомизации pre-route входного коннектора / в точке кастомизации pre-route входного потока профиля.
Вот как работает каждый вариант:
<?xml version="1.0" encoding="UTF-8"?>
<route>
<from uri="direct:pre-route" />
<setProperty name="NTX_connector_preRouted">
<constant>true</constant>
</setProperty>
<set-destination>system-1</set-destination>
<respond now="true" continue="false" />
</route>
-
<respond now="true" continue="true" />: Процесс интеграции немедленно начинает отправку ответа отправителю (now="true"), и после этого продолжает обработку данных (continue="true").
-
<respond now="true" continue="false" />: Процесс интеграции немедленно начинает отправку ответа отправителю (now="true"), и после этого не продолжает обработку данных (continue="false").
-
<respond now="false" continue="true" />: Отправка ответа происходит при достижении дефолтного маршрута (now="false"), и после этого продолжается обработка данных (continue="true").
-
<respond now="false" continue="false" />: Отправка ответа происходит по умолчанию при достижении дефолтного маршрута (now="false"), и после этого не продолжается обработка данных (continue="false").
to-connection
Описание: Используется для указания пути, по которому данные будут переданы на конкретную коннекцию.
xslt
Описание: Тег используется для xslt-преобразования пакета при помощи xslt-ресурса
<?xml version="1.0" encoding="UTF-8"?>
<route>
<pre-output-start />
<setProperty name="NTX_connector_preOutput">
<constant>true</constant>
</setProperty>
<xslt resource="schemas:example.xsl" />
<setHeader name="CamelFileName">
<constant>c.xml</constant>
</setHeader>
</route>
default-destination
Описание: Установка значений заголовков для маршрутизации или обработки данных по умолчанию
<?xml version="1.0" encoding="UTF-8"?>
<route>
<in-flow-pre-route-start />
<setProperty name="NTX_profile_in_preRouted">
<constant>true</constant>
</setProperty>
<default-destination>system-b:system</default-destination>
</route>
next-route
Описание: Обход дефолтного маршрута, с указанием заголовка следующей точки маршрута
<?xml version="1.0" encoding="UTF-8"?>
<route>
<from uri="direct:pre-route" />
<setProperty name="NTX_connector_preRouted">
<constant>true</constant>
</setProperty>
<set-destination>system-b</set-destination>
<next-route local="false" async="false">lama</next-route>
</route>
где:
lama - идентификатор точки входа (endpoint) в маршруте.
local - переменная, определяющая, является ли следующий маршрут (next-route) локальным (true) или удаленным (false).
async - переменная, определяющая, является ли следующий маршрут (next-route) асинхронным (true) или синхронным (false).
standard-router
Описание: Тег используется для маршрутизации данных на основе заданных правил или условий
<?xml version="1.0" encoding="UTF-8"?>
<route>
<default-route-start />
<standard-router />
</route>
prefer-connector
Описание: Тег используется для выбора выходного коннектора в соответствии с указанными параметрами: протокол, классификатор, тип.
<?xml version="1.0" encoding="UTF-8"?>
<route>
<from uri="direct:pre-route" />
<setProperty name="NTX_connector_preRouted">
<constant>true</constant>
</setProperty>
<set-destination>system-b</set-destination>
<prefer-connector>
<protocol>file</protocol>
<classifier>main</classifier>
<type>file</type>
</prefer-connector>
</route>
Добавлены параметры в компонент system для возможности вызвать компонент вне entaxy генератора:
<to uri="system:system-crm?connectorProtocol=file&connectorClassifier=main&connectorType=file"/>