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

Служебные функции

ESB поддерживает разные типы служебных функций, описанные ниже.

ФункцияТип ответаОписание
env.keyStringСсылается на переменную окружения ОС с заданным ключом ${env.key}.
Например,${env.PATH}, ${env.HOME} или ${env.JAVA_HOME}. Обратите внимание, что ключ должен быть в верхнем регистре, как того требуют переменные среды ОС.
hash(exp,algorithm)StringВозвращает хэшированное значение (строка в шестнадцатеричном формате) данного выражения. Алгоритм может быть SHA-256 (по умолчанию) или SHA3-256.
hostnameStringВозвращает локальное имя хоста (может быть null, если не удается разрешить).
Функция не требует использования круглых скобок, так что просто используйте${hostname}.
load(file)StringЗагружает содержимое ресурса из classpath.
Чтобы загрузить данные изclasspath, вы можете использовать функцию load, например ${load(myrules.json)}. Если файл отсутствует в classpath, выбрасывается исключение. Однако вы можете пометить файл как необязательный: ${load(myrules.json?optional=true)}, который вернет null, если файл не существует.
Функцияload может загружать только из classpath, а не из файловой системы в целом. Это сделано намеренно, чтобы избежать потенциальных рисков безопасности при создании динамических простых выражений с использованием функции load для попытки загрузки серверных файлов.
nullnullВозвращает значение null, например ${null}.
sysenv.keyStringПредназначена для поиска системного свойства JVM с заданным ключом.
Чтобы получить системные свойства JVM, используйте функцию${sysenv.key}, например ${sysenv.java.version} или ${sysenv.java.io.tmpdir}.
threadIdStringВозвращает идентификатор текущего потока. Его можно получить с помощью ${threadId}.
threadNameStringВозвращает имя текущего потока. Его можно получить с помощью ${threadName}.
uuid(kind)StringВозвращает UUID, используя UuidGenerator. Вы можете выбрать тип из: default, classic, short, simple и random. Если тип не указан, используется default. Также можно использовать пользовательский UuidGenerator и привязать bean к реестру с идентификатором. Например, ${uuid(myGenerator)}, где идентификатор — myGenerator.
base64Encode()StringКодирует тело сообщения в Base64.
Например, если вы хотите закодировать тело сообщения, используйте \${base64Encode()}.
base64Encode(exp)StringКодирует выражение в Base64.
Вы можете предоставить вложенную функцию, например ${base64Encode(${header.myKey})}, для кодирования заголовка.
base64Decode()byte[]Декодирует тело сообщения Base64.
base64Decode(exp)byte[]Декодирует выражение Base64.