camunda-engine-cdi and camunda-engine-cdi-jakarta modules provide programming model integration with CDI (Context and Dependency Injection).
CDI is the Jakarta EE/Java EE standard for Dependency Injection. The ASEE Flow CDI integration leverages both the configuration of the ASEE Flow engine
and the extensibility of CDI. The most prominent features are:
- A custom El-Resolver for resolving CDI beans (including EJBs) from the process.
- Support for
@BusinessProcessScopedbeans (CDI beans, the lifecycle of which are bound to a process instance). - Declarative control over a process instance using annotations.
- The Process Engine is hooked-up to the CDI event bus.
- Works with Jakarta EE, Java EE, and Java SE.
- Support for unit testing.
Quarkus Engine ExtensionSince Quarkus ArC does not aim to fully implement CDI 2.0, you cannot use the full range of features the
camunda-engine-cdi module provides.
Read about the limitations in the Quarkus Integration guide.Maven Dependency
To use thecamunda-engine-cdi module inside your application, you must include the following Maven dependency:
Please import the ASEE Flow BOM to ensure correct versions for every ASEE Flow project.
There is a project template for Maven called
camunda-archetype-ejb-war, which gives you a complete running project, including CDI integration.