Kora фреймворк для написания Java / Kotlin приложений с упором на производительность, эффективность, прозрачность сделанный разработчиками Т-Банк / Тинькофф

Kora is a framework for writing Java / Kotlin applications with a focus on performance, efficiency, transparency made by T-Bank / Tinkoff developers

Перейти к содержанию

Camunda REST

Экспериментальный модуль

Эксперементальный модуль является полностью рабочим и протестированным, но не гарантирует полностью стабилизированный API и может притерпеть какие либо незначительные изменения перед полной готовностью.

Модуль для подключения REST API для Camunda 7 BPMN модуля

Подключение

Зависимость build.gradle:

implementation "ru.tinkoff.kora:camunda-rest-undertow"

Модуль:

@KoraApp
public interface Application extends CamundaRestUndertowModule { }

Зависимость build.gradle.kts:

implementation("ru.tinkoff.kora:camunda-rest-undertow")

Модуль:

@KoraApp
interface Application : CamundaRestUndertowModule

Требует подключения Camunda BPMN модуля.

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

Пример полной конфигурации, описанной в классе CamundaRestConfig (указаны примеры значений или значения по умолчанию):

camunda {
    rest {
        enabled = false //(1)!
        path = "/engine-rest" //(2)!
        port = 8081 //(3)!
        shutdownWait = "100ms" //(4)!
        telemetry {
            logging {
                enabled = false //(5)!
                stacktrace = true //(6)!
            }
            metrics {
                enabled = true //(7)!
                slo = [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] //(8)!
            }
            tracing {
                enabled = true //(9)!
            }
        }
    }
}
  1. Включить/выключить REST API
  2. Путь префикс до REST API
  3. Порт на котором будет запускаться REST API сервер
  4. Максимальное время ожидания завершения сервера после получения сигнала плавого завершения
  5. Включает логгирование модуля (по умолчанию false)
  6. Включает логгирование стека ошибки (по умолчанию true)
  7. Включает метрики модуля (по умолчанию true)
  8. Настройка SLO для DistributionSummary метрики
  9. Включает трассировку модуля (по умолчанию true)
camunda:
  rest:
    enabled: false #(1)!
    path: "/engine-rest" #(2)!
    port: 8081 #(3)!
    shutdownWait: "100ms" #(4)!
    telemetry:
      logging:
        enabled: false #(5)!
        stacktrace: true #(6)!
      metrics:
        enabled: true #(7)!
        slo: [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] #(8)!
      tracing:
        enabled: true #(9)!
  1. Включить/выключить REST API
  2. Путь префикс до REST API
  3. Порт на котором будет запускаться REST API сервер
  4. Максимальное время ожидания завершения сервера после получения сигнала плавого завершения
  5. Включает логгирование модуля (по умолчанию false)
  6. Включает логгирование стека ошибки (по умолчанию true)
  7. Включает метрики модуля (по умолчанию true)
  8. Настройка SLO для DistributionSummary метрики
  9. Включает трассировку модуля (по умолчанию true)

Приложения

Можно регистрировать произвольные jakarta.ws.rs.core.Application с ресурсами для API (например для других webapp) предоставляя их как компоненты в контейнер зависимостей.