Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

Bean

Общее описание

Блок Bean привязывает bean-компоненты Java к обмену сообщениями, расширяя функциональность платформы за счет реализации пользовательской логики.

Настройка блока

В данном разделе описаны параметры блока Bean, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
RefrefСсылка на bean в реестре.Строка
MethodmethodЗадает имя метода, который будет вызываться в компоненте.Строка
Bean TypebeanTypeПолное имя класса bean, которое полностью и однозначно его определяет.Строка
Scopescope

Схемы работы бинов приведены ниже:

При использовании типа Singleton, bean создается или находится только один раз и используется повторно в течение всего срока жизни конечной точки. Бин должен быть потокобезопасным на случай, если параллельные потоки одновременно вызывают компонент.

При использовании типа Request, bean создается или находится один раз за запрос (exchange). Это можно использовать, если вы хотите сохранить состояние бина во время обработки запроса и хотите вызывать один и тот же экземпляр бина несколько раз во время обработки запроса. Бин не обязательно должен быть потокобезопасным, поскольку экземпляр вызывается только из одного и того же запроса.

При использовании Prototype, bean будет найден или создан для каждого вызова. Однако в случае поиска поведение зависит от реестра бинов, такого как Spring или CDI (если используется), который в зависимости от конфигурации может выступать либо как Singleton, либо как Prototype.

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

  • Singleton

  • Request

  • Prototype

SingletonСписок

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
DisableddisabledОпределяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение

Подключение сторонней библиотеки для компонента Bean

Чтобы загрузить стороннюю библиотеку для компонента Bean, необходимо, чтобы был создан стандартный Java проект с Maven или Gradle.

Выполните следующие шаги:

  1. Добавьте в проект необходимые классы, из которых будут созданы бины.

Пример минимальной реализации класса, осуществляющего логирование факта вызова метода, приведен ниже:

package com.test.beans;

 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class TestBean {

    Logger logger = LoggerFactory.getLogger(TestBean.class);

    public void test() {

        logger.info("Body changed by custom bean");

    }

}
  1. Если необходимо взаимодействие с Exchange, то в POM файл нужно добавить зависимость, как показано ниже в примере для maven:
<dependency>

    <groupId>org.apache.camel</groupId>

    <artifactId>camel-core</artifactId>

    <version>4.13.0</version>

</dependency>
  1. Затем в параметры метода следует передать Exchange, класс который изменяет body объекта:
package com.test.beans;

import org.apache.camel.Exchange;

public class TestBean {

    public void test(Exchange exchange) {

        exchange.getMessage().setBody("Body changed by custom bean");

    }

}
  1. Соберите проект стандартными средствами Maven или Gradle. В результате будет сгенерирован JAR файл , содержащий скомпилированные классы.

  2. Разместите JAR файл в томе Core-контейнера, настроив маппинг тома на внутреннюю директорию контейнера /app/libs.

  3. Перезапустите контейнер Core.