IRC

Поддерживаются как производитель, так и потребитель

Компонент IRC реализует транспорт для IRC (Internet Relay Chat).

Пользователям Maven необходимо добавить следующую зависимость для pom.xmlэтого компонента:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-irc</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

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

Auto Rejoin

  • Определяет, следует ли автоматически повторно присоединяться после исключения (kicked).

  • По умолчанию: true

  • Тип: boolean

Channels

  • Список каналов IRC, разделённых запятыми.

  • По умолчанию:

  • Тип: String

Command Timeout

  • Задержка в миллисекундах перед отправкой команд после установления соединения.

  • По умолчанию: 5000

  • Тип: long

Hostname

  • Обязательный параметр - Имя хоста для сервера IRC-чата.

  • По умолчанию:

  • Тип: String

Keys

  • Список ключей для каналов, разделённых запятыми.

  • По умолчанию:

  • Тип: String

Names On Join

  • Тип: Отправляет команду NAMES на канал после присоединения к нему. Для обработки результата параметр onReply должен быть true, и результат будет содержать значение заголовка irc.num = '353'

  • По умолчанию: false

  • Тип: boolean

Nickname

  • Никнейм, используемый в чате.

  • По умолчанию:

  • Тип: String

On Join

  • Обрабатывает события присоединения пользователей.

  • По умолчанию: true

  • Тип: boolean

On Kick

  • Обрабатывает события исключения (kick).

  • По умолчанию: true

  • Тип: boolean

On Mode

  • Обрабатывает события изменения режима.

  • По умолчанию: true

  • Тип: boolean

On Nick

  • Обрабатывает события изменения никнейма.

  • По умолчанию: true

  • Тип: boolean

On Part

  • Обрабатывает события выхода пользователей.

  • По умолчанию: true

  • Тип: boolean

On Privmsg

  • Обрабатывает события личных сообщений.

  • По умолчанию: true

  • Тип: boolean

On Quit

  • Обрабатывает события выхода пользователей из сети.

  • По умолчанию: true

  • Тип: boolean

On Reply

  • Определяет, следует ли обрабатывать общие ответы на команды или информационные сообщения.

  • По умолчанию: false

  • Тип: boolean

On Topic

  • Обрабатывает события изменения топика.

  • По умолчанию: true

  • Тип: boolean

Port

  • Номер порта для сервера IRC-чата. Если порт не настроен, используется порт по умолчанию: 6667, 6668 или 6669.

  • По умолчанию:

  • Тип: int

Realname

  • Реальное имя пользователя IRC.

  • По умолчанию:

  • Тип: String

Component security properties

Nick Password

  • Тип: Пароль для никнейма на вашем сервере IRC.

  • По умолчанию:

  • Тип: String

Password

  • Пароль для сервера IRC.

  • По умолчанию:

  • Тип: String

Ssl Context Parameters

  • Тип: Используется для настройки безопасности с использованием SSL. Ссылка на org.apache.camel.support.jsse.SSLContextParameters в реестре. Эта ссылка переопределяет любые настроенные SSLContextParameters на уровне компонента. Обратите внимание, что эта настройка переопределяет параметр trustManager.

  • По умолчанию:

  • Тип: SSLContextParameters

Trust Manager

  • Trust manager, используемый для проверки сертификата SSL-сервера.

  • По умолчанию:

  • Тип: SSLTrustManager

Username

  • Тип: Имя пользователя на сервере IRC.

  • По умолчанию:

  • Тип: 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

Colors

  • Определяет, поддерживает ли сервер цветовые коды.

  • По умолчанию: true

  • Тип: boolean

Exception Handler

  • Позволяет потребителю использовать собственный ExceptionHandler.

    Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.

  • По умолчанию:

  • Тип: ExceptionHandler

Exchange Pattern

  • Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).

    Возможные значения:

    • InOnly

    • InOut

  • По умолчанию:

  • Тип: ExchangePattern