JCache
Поддерживаются как производитель, так и потребитель
Компонент JCache позволяет выполнять операции кэширования, используя JSR107/JCache в качестве реализации кэша.
URI Format
<span style="color: rgb(0,0,0);">jcache:cacheName[?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
Cache Configuration
-
Конфигурация для кэша.
-
По умолчанию:
-
Тип: Configuration
Cache Configuration Properties
-
Свойства для настройки jcache.
-
По умолчанию:
-
Тип: Map
Cache Name
-
Тип: Обязательный параметр - Имя кэша.
-
По умолчанию:
-
Тип: String
Caching Provider
-
Полное квалифицированное имя класса javax.cache.spi.CachingProvider.
-
По умолчанию:
-
Тип: String
Configuration Uri
-
Тип: URI, характерный для конкретной реализации CacheManager.
-
По умолчанию:
-
Тип: String
Filtered Events
-
События, которые потребитель должен фильтровать (несколько событий могут быть разделены запятыми). Если используется опция filteredEvents, то eventFilters будет проигнорирована.
Возможные значения:
-
CREATED
-
UPDATED
-
REMOVED
-
EXPIRED
-
-
По умолчанию:
-
Тип: String
Management Enabled
-
Тип: Определяет, включён ли сбор данных для управления.
-
По умолчанию: false
-
Тип: boolean
Old Value Required
-
Определяет, требуется ли старое значение для событий.
-
По умолчанию: false
-
Тип: boolean
Read Through
-
Определяет, следует ли использовать сквозное чтение (read-through caching).
-
По умолчанию: false
-
Тип: boolean
Statistics Enabled
-
Определяет, включён ли сбор статистики.
-
По умолчанию: false
-
Тип: boolean
Store By Value
-
Определяет, должен ли кэш использовать семантику хранения по значению (store-by-value) или по ссылке (store-by-reference).
-
По умолчанию: true
-
Тип: boolean
Synchronous
-
Определяет, должен ли слушатель событий блокировать поток, вызывающий событие.
-
По умолчанию: false
-
Тип: boolean
Write Through
-
Определяет, следует ли использовать сквозную запись (write-through caching).
-
По умолчанию: false
-
Тип: boolean
Component advanced properties
Bridge Error Handler
-
Предоставляет возможность связать потребителя с маршрутизатором Error Handler Camel. Это позволяет обрабатывать исключения (если возможно), возникающие при получении входящих сообщений потребителем Camel, в виде сообщений, передаваемых в маршрутизатор Error Handler.
Важно: Это возможно только в том случае, если сторонний компонент позволяет Camel получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают исключения только внутренне, из-за чего использование bridgeErrorHandler становится невозможным. В некоторых случаях мы можем доработать компонент Camel, чтобы интегрировать его со сторонним компонентом и сделать такую возможность доступной в будущих выпусках. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые логируются с уровнем WARN или ERROR и игнорируются.
-
По умолчанию: false
-
Тип: boolean
Cache Loader Factory
-
CacheLoader factory.
-
По умолчанию:
-
Тип: Factory
Cache Writer Factory
-
CacheWriter factory.
-
По умолчанию:
-
Тип: Factory
Create Cache If Not Exists
-
Тип: Укажите, нужно ли создавать кэш, если его не существует или его нельзя предварительно настроить.
-
По умолчанию: true
-
Тип: boolean
Event Filters
-
Фильтр CacheEntryEventFilter. Если используется опция eventFilters, то filteredEvents будет проигнорирован.
-
По умолчанию:
-
Тип: List
Exception Handler
-
Позволяет потребителю использовать собственный ExceptionHandler.
Обратите внимание, что если включена опция bridgeErrorHandler, то эта настройка не используется. По умолчанию потребитель обрабатывает исключения, которые логируются с уровнем WARN или ERROR и игнорируются.
-
По умолчанию:
-
Тип: ExceptionHandler
Exchange Pattern
-
Тип: Определяет шаблон взаимодействия, который применяется, когда потребитель создает новый обмен (exchange).
Возможные значения:
-
InOnly
-
InOut
-
-
По умолчанию:
-
Тип: ExchangePattern
Expiry Policy Factory
-
ExpiryPolicy factory.
-
По умолчанию:
-
Тип: Factory
Lookup Providers
-
Тип: Настройка, должен ли camel-cache пытаться найти реализации API jcache в средах выполнения, таких как OSGi.
-
По умолчанию: false
-
Тип: boolean