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

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

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

Camunda REST

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

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

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

Подключение

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

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

Модуль:

@KoraApp
public interface Application extends CamundaRestUndertowModule { }

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

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

Модуль:

@KoraApp
interface Application : CamundaRestUndertowModule

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

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

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

camunda {
    rest {
        enabled = false 
        path = "/engine-rest" 
        port = 8081 
        shutdownWait = "30s" 
        openapi {
            file = [ "openapi.json" ] 
            enabled = false  
            endpoint = "/openapi" 
            swaggerui {
                enabled = false 
                endpoint = "/swagger-ui" 
            }
            rapidoc {
                enabled = false 
                endpoint = "/rapidoc" 
            }
        }
        telemetry {
            logging {
                enabled = false 
                stacktrace = true 
                mask = "***" 
                maskQueries = [ ] 
                maskHeaders = [ "authorization" ] 
                pathTemplate = true 
            }
            metrics {
                enabled = true 
                slo = [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] 
            }
            tracing {
                enabled = true 
            }
        }
    }
}
camunda:
  rest:
    enabled: false 
    path: "/engine-rest" 
    port: 8081 
    shutdownWait: "30s" 
    openapi:
      file: [ "openapi.json" ] 
      enabled: false  
      endpoint: "/openapi" 
      swaggerui:
        enabled: false 
        endpoint: "/swagger-ui" 
      rapidoc:
        enabled: false 
        endpoint: "/rapidoc" 
    telemetry:
      logging:
        enabled: false 
        stacktrace: true 
        mask: "***" 
        maskQueries: [ ] 
        maskHeaders: [ "authorization" ] 
        pathTemplate: true 
      metrics:
        enabled: true 
        slo: [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] 
      tracing:
        enabled: true 

Приложения

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