Camunda BPMN
??? warning “Experimental module”
**Experimental** module is fully working and tested, but does not guarantee a fully stabilized API and may undergo some minor changes before being fully ready.
undergo some minor changes before being fully operational.
Module for connecting a BPMN process workflow engine based on Camunda 7
Dependency¶
Dependency build.gradle
:
Module:
Dependency build.gradle.kts
:
Module:
Requires JDBC module connection.
Configuration¶
Example of the complete configuration described in the CamundaEngineBpmnConfig
class (example values or default values are specified):
camunda {
engine {
bpmn {
jobExecutor {
corePoolSize = 5 //(1)!
maxPoolSize = 25 //(2)!
queueSize = 25 //(3)!
maxJobsPerAcquisition = 2 //(4)!
}
deployment {
tenantId = "Camunda" //(5)!
name = "KoraEngineAutoDeployment" //(6)!
deployChangedOnly = true //(7)!
resources = "classpath:bpm" //(8)!
delay = "1m" //(9)!
}
parallelInitialization {
enabled = true //(10)!
validateIncompleteStatements = true //(11)!
}
admin {
id = "admin" //(12)!
password = "admin" //(13)!
firstname = "Ivan" //(14)!
lastname = "Ivanov" //(15)!
email = "admin@mail.ru" //(16)!
}
telemetry {
logging {
enabled = false //(17)!
stacktrace = true //(18)!
}
metrics {
enabled = true //(19)!
slo = [ 1, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] //(20)!
}
engineTelemetryEnabled = false //(21)!
tracing {
enabled = true //(22)!
}
}
}
}
}
- Minimum number of live threads in JobExecutor
- Maximum number of threads in JobExecutor
- Size of the task queue before tasks are thrown out of the JobExecutor execution queue
- Maximum number of tasks in the JobExecutor execution (default is the number of CPU cores multiplied by 2)
- Indeterminator tenant load resources (default is none)
- Name of load resources
- Flag that says that only modified resources should be loaded
- Paths to find BPMN/FORM/DMN resources that will be loaded into the engine after startup
- Delay before deploying new resources to engine
- Whether to enable parallel loading, which slightly improves the engine startup speed
- Whether to check for incomplete engine configuration requests
- Camunda administrator identifier (optional)
- Camunda Administrator Password (optional)
- Camunda Administrator Name (optional)
- Last name of Camunda administrator (optional)
- Email of the Camunda administrator (optional)
- Enables module logging (default is
false
) - Enables error stack logging (default is
true
) - Enables module metrics (default
true
) - Configures SLO for DistributionSummary metrics
- Enables collection of engine metrics/telemetry (default is
false
) - Enables module tracing (default
true
)
camunda:
engine:
bpmn:
jobExecutor:
corePoolSize: 5 #(1)!
maxPoolSize: 25 #(2)!
queueSize: 25 #(3)!
maxJobsPerAcquisition: 2 #(4)!
deployment:
tenantId: "Camunda" #(5)!
name: "KoraEngineAutoDeployment" #(6)!
deployChangedOnly: true #(7)!
resources: "classpath:bpm" #(8)!
delay: "1m" #(9)!
parallelInitialization:
enabled: true #(10)!
validateIncompleteStatements: true #(11)!
admin:
id: "admin" #(12)!
password: "admin" #(13)!
firstname: "Ivan" #(14)!
lastname: "Ivanov" #(15)!
email: "admin@mail.ru" #(16)!
telemetry:
logging:
enabled: false #(17)!
stacktrace: true #(18)!
metrics:
enabled: true #(19)!
slo: [ 0, 10, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 30000, 60000, 90000 ] #(20)!
engineTelemetryEnabled: false #(21)!
tracing:
enabled: true #(22)!
- Minimum number of live threads in JobExecutor
- Maximum number of threads in JobExecutor
- Size of the task queue before tasks are thrown out of the JobExecutor execution queue
- Maximum number of tasks in the JobExecutor execution (default is the number of CPU cores multiplied by 2)
- Indeterminator tenant load resources (default is none)
- Name of load resources
- Flag that says that only modified resources should be loaded
- Paths to find BPMN/FORM/DMN resources that will be loaded into the engine after startup
- Delay before deploying new resources to engine
- Whether to enable parallel loading, which slightly improves the engine startup speed
- Whether to check for incomplete engine configuration requests
- Camunda administrator identifier (optional)
- Camunda Administrator Password (optional)
- Camunda Administrator Name (optional)
- Last name of Camunda administrator (optional)
- Email of the Camunda administrator (optional)
- Enables module logging (default is
false
) - Enables error stack logging (default is
true
) - Enables module metrics (default
true
) - Configures SLO for DistributionSummary metrics
- Enables collection of engine metrics/telemetry (default is
false
) - Enables module tracing (default
true
)
Applications¶
You can register in Camunda user JavaDelegate
which will be registered in the context by their full class name (canonicalName
) and by their simplified class name (simpleName
):
You can also register specialized KoraDelegate
, which allow, in addition to standard naming, to register an executor with an arbitrary name in context via the key()
method:
Engine configuration¶
It is possible to register user ProcessEngineConfigurator
that allow configuring ProcessEngine:
Plugins¶
You can register arbitrary Plugin by providing them as components in a dependency container.