• Ru

Конфигурация UniBPM

Формат

Prefix (группа параметров)ПараметрОписаниеЗначение по-умолчанию

Основные параметры приложения (application)

PrefixПараметрОписаниеЗначение по-умолчанию
applicationversionВерсия приложения (по-умолчанию берется из pom.xml)@project.version@
applicationadmin-role-nameИмя роли администратораROLE_unibpm-admin
applicationapplication-urlURL приложения для отображения в шаблонахhttp://localhost:8099
applicationsender-role-nameИмя роли для работы с Sender через REST APIunibpm-sender
applicationprefix-role-nameПрефикс ролейROLE_
applicationpreference-theme-keyКлюч пользовательской настройки темыTHEME
applicationworkflow.code-max-lengthМаксимальная длина кода процесса10
applicationcorrelate-message-tenantsМноготенантная маршрутизация сообщений BPMNtrue
applicationfqdnПолное доменное имя для формирования Message-ID в исходящих сообщенияхlocalhost
applicationticket-number-prefixПрефикс номеров заявок для формирования тем исходящих сообщенийTicket
applicationplain-text-patternRegexp фильтрации изображений (plain text) для обработки входящих сообщенийсм. application.yaml
applicationhtml-text-patternRegexp фильтрации изображений (HTML) для обработки входящих сообщенийсм. application.yaml
applicationuser-attribute-positionАтрибут Keycloak, в котором хранится должность пользователяjobTitle
applicationuser-attribute-idАтрибут Keycloak, в котором хранится табельный номер (ID сотрудника) пользователяemployeeId
applicationkeycloak-paginationРазмер страницы при импорте пользователей из Keycloak100

Почтовый шлюз (sender)

PrefixПараметрОписаниеЗначение по-умолчанию
senderretriesКоличество попыток обработки сообщений3
senderis-handleВключить/отключить обработку сообщенийtrue
sendersend-delay-in-millisИнтервал отправки исходящих сообщений (мс)60000
senderreceive-delay-in-millisИнтервал получения входящих сообщений (мс)60000
senderchannel-init-delay-in-millisИнтервал обновления каналов (мс)60000
sendertoken-refresh-delay-in-millisИнтервал обновления OAuth2 токенов (мс)60000

Интеграция с Keycloak (identity.keycloak)

Используется для:

  • синхронизации пользователей и групп
  • получения realm-ролей
  • OAuth2 client_credentials для Keycloak Admin API
PrefixПараметрОписаниеЗначение по-умолчанию
identity.keycloakbase-urlURL сервера Keycloak
identity.keycloakrealmRealm
identity.keycloakclient-registration-idOAuth2 registration ID клиента
identity.keycloakprincipalPrincipal для client_credentials
identity.keycloakdelay-in-millisИнтервал синхронизации пользователей (мс)60000
identity.keycloakkeycloak-paginationРазмер страницы при импорте пользователей100
identity.keycloakuser-attribute-positionАтрибут Keycloak для должностиjobTitle
identity.keycloakuser-attribute-idАтрибут Keycloak для табельного номераemployeeId
identity.keycloakfront-client-registration-idRegistration ID frontend клиента

Интеграция с Camunda

camunda-kafka-import

PrefixПараметрОписаниеЗначение по-умолчанию
camunda-kafka-importuser-task-event-topicKafka topic для импорта пользовательских задачreunico.unibpm.task.events.prod
camunda-kafka-importchange-state-topicKafka topic для импорта смены статусовreunico.unibpm.execution.events.prod

camunda-client

Интеграция с Camunda REST API осуществляется через OAuth2 (grant type: client_credentials).

PrefixПараметрОписаниеЗначение по-умолчанию
camunda-clientrest-api-urlURL Camunda REST API
camunda-clientoauth2-registration-idRegistration ID клиента из spring.security.oauth2.client.registration
camunda-clientoauth2-principalPrincipal (service name) для кэширования access token

OAuth2 Clients (spring.security.oauth2.client)

UniBPM использует OAuth2 (client_credentials) для доступа к внешним сервисам.

Используемые клиенты

Registration IDНазначение
unibpm-keycloakДоступ к Keycloak Admin API
unibpm-camundaДоступ к Camunda REST API

Токены:

  • автоматически запрашиваются
  • кэшируются
  • обновляются при истечении срока действия

Интеграция с внешними сервисами (calender)

PrefixПараметрОписаниеЗначение по-умолчанию
calenderis-day-off-urlURL сервиса импорта календарейhttps://isdayoff.ru

Конфигурация Kafka (spring.kafka)

PrefixПараметрОписаниеЗначение по-умолчанию
spring.kafkabootstrap-serversАдрес Kafka брокера127.0.0.1:9092
spring.kafka.consumergroup-idГруппа Kafka консюмеровunibpm-1

Конфигурация БД и Liquibase

PrefixПараметрОписаниеЗначение по-умолчанию
spring.datasourceurlURL подключения к БДиз env переменных
spring.datasourceusernameИмя пользователя БДиз env переменных
spring.datasourcepasswordПарольиз env переменных
spring.datasource.hikariauto-commitАвтокоммитfalse
spring.datasource.hikaripool-nameИмя пулаHikari
spring.jpahibernate.ddl-autoСтратегия DDLnone
spring.liquibasechange-logПуть к changelogclasspath:config/liquibase/master.xml
spring.liquibaseenabledВключить Liquibasetrue

Пул потоков и асинхронная обработка (task execution & scheduling)

PrefixПараметрОписаниеЗначение по-умолчанию
spring.task.executionthread-name-prefixПрефикс потоковunibpm-task-
spring.task.execution.poolcore-sizeМинимум потоков2
spring.task.execution.poolmax-sizeМаксимум потоков50
spring.task.execution.poolqueue-capacityРазмер очереди10000
spring.task.schedulingthread-name-prefixПрефикс потоков планировщикаunibpm-scheduling-
spring.task.scheduling.poolsizeКол-во потоков2

Загрузка файлов (spring.servlet.multipart)

PrefixПараметрОписаниеЗначение по-умолчанию
spring.servlet.multipartmax-file-sizeМаксимальный размер файла32MB
spring.servlet.multipartmax-request-sizeМаксимальный размер запроса32MB

Параметры сервера (server)

PrefixПараметрОписаниеЗначение по-умолчанию
serverportПорт приложения8099
server.errorinclude-messageВключить текст ошибкиalways
server.errorinclude-binding-errorsВключить binding ошибкиalways
server.errorinclude-exceptionВключить exceptiontrue
server.errorinclude-stacktraceВключить stacktracealways

Swagger UI (springdoc.swagger-ui)

Рекомендуется отключить документирование API на продуктивном стенде.

PrefixПараметрОписаниеЗначение по-умолчанию
springdoc.swagger-uiswagger-ui.enabledВключение / отключение документации API (UI). Рекомендуется установить в false на продуктивном стенде.true
springdoc.swagger-uiapi-docs.enabledВключение / отключение документации API (JSON). Рекомендуется установить в false на продуктивном стенде.true
springdoc.swagger-uidisplay-operation-idОтображать operationIdtrue

AI Configuration (ai)

PrefixПараметрОписание
ai.enabledВключить AI функциональность
spring.ai.openai.api-keyOpenAI API ключ
spring.ai.openai.embedding.options.modelМодель эмбеддингов
spring.ai.vectorstore.pgvector.*Настройки pgvector

Мониторинг (management)

PrefixПараметрОписаниеЗначение по-умолчанию
management.info.gitenabledВключить git информациюtrue
management.info.gitmodeРежим git infofull
management.info.osenabledВключить инфо об ОСtrue
management.info.buildenabledВключить build infotrue
management.info.envenabledВключить env infotrue
management.endpoints.web.exposureincludeКакие endpoints включеныhealth,info
management.endpoint.healthshow-detailsПодробности по healthalways