Data Format
Поддерживается только производитель
Компонент «Data Format» позволяет использовать Data Format как компонент Camel.
URI format
dataformat:name:(marshal|unmarshal)[?options]
Где name -- имя формата данных. За ним следует операция, которая может быть либо , marshalлибо unmarshal. Параметры используются для настройки используемого формата данных . (opens in a new tab)
Сведения о поддерживаемых параметрах см. в документации по формату данных. (opens in a new tab)
DataFormat Options
Configuring Options
Компоненты Camel настраиваются на двух отдельных уровнях:
-
уровень компонентов
-
уровень конечной точки
Configuring Component Options
На уровне компонентов задаются общие и общие конфигурации, которые затем наследуются конечными точками. Это самый высокий уровень конфигурации.
Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевого подключения и т. д.
У некоторых компонентов всего несколько параметров, а у других -- много. Поскольку компоненты обычно имеют предустановленные значения по умолчанию, которые широко используются, зачастую вам может потребоваться настроить лишь несколько параметров компонента, а то и вовсе ни одного.
Вы можете настроить компоненты, используя:
-
Компонент DSL (opens in a new tab) .
-
в файле конфигурации (
application.propertiesфайлы*.yaml, и т.д.). -
непосредственно в коде Java.
Configuring Endpoint Options
Настройка конечных точек обычно занимает больше времени, поскольку у них есть множество параметров. Эти параметры помогают вам настроить функции конечной точки. Параметры также классифицируются по тому, используется ли конечная точка как потребитель ( от ), как производитель ( от ) или и то, и другое.
Конечные точки чаще всего настраиваются непосредственно в URI конечной точки в виде параметров пути и запроса . Вы также можете использовать Endpoint DSL (opens in a new tab) и DataFormat DSL (opens in a new tab) в качестве типобезопасного способа настройки конечных точек и форматов данных в Java.
Хорошей практикой при настройке параметров является использование заполнителей свойств (opens in a new tab) .
Заполнители свойств обеспечивают несколько преимуществ:
-
Они помогают предотвратить использование жестко запрограммированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.
-
Они позволяют вынести конфигурацию за пределы кода.
-
Они помогают коду стать более гибким и пригодным для повторного использования.
В следующих двух разделах перечислены все параметры, сначала для компонента, а затем для конечной точки.
Component Options
Компонент «Формат данных» поддерживает 2 параметра, перечисленные ниже.
lazyStartProducer (producer)
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
autowiredEnabled (advanced)
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: boolean
Endpoint Options
Конечная точка формата данных настраивается с использованием синтаксиса URI:
dataformat:name:operation
Со следующими параметрами пути и запроса :
Path Parameters (2 parameters)
name (producer)
-
Обязательное название формата данных.
-
По умолчанию:
-
Тип: String
-
Тип: operation (producer)
-
Требуемая операция для использования функции marshal или unmarshal.
Значения перечисления:
-
marshal
-
unmarshal
-
-
String
Query Parameters (1 parameters)
lazyStartProducer (producer (advanced))
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
По умолчанию: false
-
Тип: boolean
Examples
Например, чтобы использовать JAXB (opens in a new tab) Data Format мы можем сделать следующее: (opens in a new tab)
- Java
from("activemq:My.Queue"). to("dataformat:jaxb:unmarshal?contextPath=com.acme.model"). to("mqseries:Another.Queue");
- XML
<span class="hljs-tag" style="color: navy;"><<span class="hljs-name" style="color: navy;">camelContext</span> <span class="hljs-attr" style="color: teal;">id</span>=<span class="hljs-string" style="color: rgb(221,17,68);">"camel"</span> <span class="hljs-attr" style="color: teal;">xmlns</span>=<span class="hljs-string" style="color: rgb(221,17,68);">"<a href="http://camel.apache.org/schema/spring">http://camel.apache.org/schema/spring</a>"</span>></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"><<span class="hljs-name" style="color: navy;">route</span>></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"><<span class="hljs-name" style="color: navy;">from</span> <span class="hljs-attr" style="color: teal;">uri</span>=<span class="hljs-string" style="color: rgb(221,17,68);">"activemq:My.Queue"</span>/></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"><<span class="hljs-name" style="color: navy;">to</span> <span class="hljs-attr" style="color: teal;">uri</span>=<span class="hljs-string" style="color: rgb(221,17,68);">"dataformat:jaxb:unmarshal?contextPath=com.acme.model"</span>/></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"><<span class="hljs-name" style="color: navy;">to</span> <span class="hljs-attr" style="color: teal;">uri</span>=<span class="hljs-string" style="color: rgb(221,17,68);">"mqseries:Another.Queue"</span>/></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"></<span class="hljs-name" style="color: navy;">route</span>></span><span style="color: rgb(79,81,174);"> </span><span class="hljs-tag" style="color: navy;"></<span class="hljs-name" style="color: navy;">camelContext</span>></span>
Spring Boot Auto-Configuration
При использовании dataformat с Spring Boot обязательно используйте следующую зависимость Maven для поддержки автоматической настройки:
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-dataformat-starter</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>Компонент поддерживает 3 опции, которые перечислены ниже.
camel.component.dataformat.autowired-enabled
-
Включено ли автоматическое связывание. Это используется для параметров автоматического связывания (параметр должен быть помечен как autowired) путём поиска в реестре экземпляра соответствующего типа, который затем настраивается в компоненте. Это может использоваться для автоматической настройки источников данных JDBC, фабрик JMS-подключений, клиентов AWS и т. д.
-
По умолчанию: true
-
Тип: Boolean
camel.component.dataformat.enabled
-
Включить ли автоматическую настройку компонента формата данных. По умолчанию эта функция включена.
-
По умолчанию:
-
Тип: Boolean
-
Тип: camel.component.dataformat.lazy-start-producer
-
Следует ли запускать производитель в режиме ленивого запуска (при первом сообщении). Запуск в режиме ленивого запуска позволяет разрешить запуск CamelContext и маршрутов в ситуациях, когда производитель может выйти из строя при запуске, что приведет к сбою запуска маршрута. Отложив запуск в режим ленивого запуска, можно обработать сбой запуска во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации Camel. Имейте в виду, что после обработки первого сообщения создание и запуск производителя могут занять некоторое время и увеличить общее время обработки.
-
false
-
Boolean