Consul
Поддерживаются как производитель, так и потребитель.
Компонент Consul используется для интеграции вашего приложения с Hashicorp Consul.
Пользователям Maven необходимо добавить следующую зависимость в свой pom.xml для этого компонента:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-consul</artifactId>
<version>${camel-version}</version>
</dependency>URI format
<span style="color: rgb(0,0,0);">consul://domain?[options]</span>
Configuring Options
Компоненты настраиваются на двух отдельных уровнях:
-
component level
-
edpoint level
Configuring Component Options
На уровне компонента задаются основные и общие настройки, которые впоследствии наследуются endpoints. Это самый высокий уровень конфигурации.
Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевых подключений и т. д.
Некоторые компоненты имеют всего несколько параметров, в то время как у других их может быть много. Поскольку компоненты обычно имеют предварительно настроенные значения по умолчанию, которые используются в большинстве случаев, вам может понадобиться настроить только несколько параметров компонента или вообще ничего не настраивать.
Компоненты можно настроить с использованием:
-
Component DSL.
-
Конфигурационного файла (application.properties, *.yaml files, etc).
-
Напрямую в Java code.
Configuring Endpoint Options
Обычно больше времени уходит на настройку endpoints, так как они обладают множеством параметров. Эти параметры позволяют настроить поведение endpoint в соответствии с вашими потребностями. Кроме того, параметры делятся на категории в зависимости от того, используется ли endpoint как потребитель (from), как производитель (to) или в обеих ролях.
Настройка endpoints чаще всего выполняется непосредственно в URI endpoint в виде параметров пути и запроса. Также вы можете использовать Endpoint DSL и DataFormat DSL как типобезопасный способ настройки endpoints и форматов данных в Java.
Хорошей практикой при настройке параметров является использование Property Placeholders.
Property placeholders предоставляют несколько преимуществ:
-
Помогают избежать использования жестко закодированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.
-
Позволяют вынести конфигурацию за пределы кода.
-
Делают код более гибким и удобным для повторного использования.
Component properties
Api Endpoint
-
Обязательно API endpoint.
-
По умолчанию:
-
Тип: String
-
Тип: Block Seconds
-
Время ожидания события наблюдения в секундах, по умолчанию 10 секунд.
-
10
-
Integer
Connect Timeout
-
Connect timeout (время ожидания соединения) для OkHttpClient.
-
По умолчанию:
-
Тип: Duration
-
Тип: Consul Client
-
Ссылка на объект org.kiwiproject.consul.Consul в реестре.
-
Consul
First Index
-
Начальный индекс для наблюдения, по умолчанию 0.
-
По умолчанию: 0
-
Тип: BigInteger
Key
-
Ключ по умолчанию. Может быть переопределён с помощью CamelConsulKey.
-
По умолчанию:
-
Тип: String
-
Тип: Ping Instance
-
Устанавливает, будет ли AgentClient выполнять ping перед возвратом объекта Consul.
-
true
-
boolean
Read Timeout
-
Тайм-аут на чтение для OkHttpClient.
-
По умолчанию:
-
Тип: Duration
-
Тип: Recursive
-
Рекурсивный режим наблюдения, по умолчанию false.
-
false
-
boolean
Tags
-
Установите теги. Несколько тегов можно разделить запятой.
-
По умолчанию:
-
Тип: String
-
Тип: Url
-
URL адрес Consul.
-
String
Write Timeout
-
Тайм-аут записи для OkHttpClient.
-
По умолчанию:
-
Тип: Duration
Component security properties
-
Тип: Acl Token
-
Устанавливает токен ACL, который будет использоваться с Consul.
-
String
Password
-
Устанавливает пароль для базовой аутентификации.
-
По умолчанию:
-
Тип: String
-
Тип: Ssl Context Parameters
-
SSL configuration using an org.apache.camel.support.jsse.SSLContextParameters instance.
Конфигурация SSL через объект org.apache.camel.support.jsse.SSLContextParameters.
-
SSLContextParameters
User Name
-
Устанавливает имя пользователя, которое будет использоваться для базовой аутентификации.
-
По умолчанию:
-
Тип: String
Component advanced properties
-
Тип: Bridge Error Handler
-
Предоставляет возможность связать потребителя с маршрутизатором Error Handler Camel. Это позволяет обрабатывать исключения (если возможно), возникающие при получении входящих сообщений потребителем Camel, в виде сообщений, передаваемых в маршрутизатор Error Handler.
Важно: Это возможно только в том случае, если сторонний компонент позволяет Camel получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают исключения только внутренне, из-за чего использование bridgeErrorHandler становится невозможным. В некоторых случаях мы можем доработать компонент Camel, чтобы интегрировать его со сторонним компонентом и сделать такую возможность доступной в будущих выпусках. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые логируются с уровнем WARN или ERROR и игнорируются.
-
false
-
boolean
Consistency Mode
-
ConsistencyMode, который используется для запросов, по умолчанию ConsistencyMode.DEFAULT.
Возможные значения:
-
DEFAULT
-
STALE
-
CONSISTENT
-
-
По умолчанию: DEFAULT
-
Тип: ConsistencyMode
Datacenter
-
Центр обработки данных.
-
По умолчанию:
-
Тип: String
-
Тип: Exception Handler
-
Позволяет потребителю использовать собственный ExceptionHandler.
Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.
-
ExceptionHandler
Exchange Pattern
-
Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).
Возможные значения:
-
InOnly
-
InOut
-
-
По умолчанию:
-
Тип: ExchangePattern
-
Тип: Near Node
-
Near Node для выполнения запросов.
-
String
Node Meta
-
Node Meta для выполнения запросов.
-
По умолчанию:
-
Тип: List