Camunda BPMN
Experimental module
Experimental module is fully working and tested, but requires additional approbation and usage analytics, for this reason, API may potentially undergo minor changes before fully stable.
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.