Spring Boot Integration
The Camunda Engine can be used in a Spring Boot application by using provided Spring Boot starters. Spring boot starters allow to enable behavior of your spring-boot application by adding dependencies to the classpath.
These starters will pre-configure the Camunda process engine, REST API and Web applications, so they can easily be used in a standalone process application.
If you are not familiar with Spring Boot, read the getting started guide or use the Camunda Platform Initializr.
To enable Camunda Platform auto configuration, add the following dependency to your pom.xml
:
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
This will add the Camunda engine v.7.12 to your dependencies.
Other starters that can be used are: camunda-bpm-spring-boot-starter-rest
and camunda-bpm-spring-boot-starter-webapp
.
Overriding Camunda Version
If you want to override the version used by default, add the camunda.version
property to your pom.xml
with the version you want
to use and add the camunda bom to the dependency management:
<properties>
<camunda.version>7.12.0</camunda.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from camunda -->
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-bom</artifactId>
<version>${camunda.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
Please check version compatibility when selecting Spring Boot Starter and Camunda Platform versions.
Using Enterprise Edition
To use Camunda Spring Boot Starter with Camunda EE you need to:
- Override the
camunda.version
with the desired EE version:
<properties>
<camunda.version>7.12.0-ee</camunda.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from camunda -->
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-bom</artifactId>
<version>${camunda.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
- Use the EE version of the webapp (
camunda-bpm-spring-boot-starter-webapp-ee
instead ofcamunda-bpm-spring-boot-starter-webapp
), see also Web Applications:
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp-ee</artifactId>
<version>{project-version}</version>
</dependency>
Supported deployment scenarios
Following deployment scenario is supported by Camunda:
- executable JAR with embedded Tomcat and one embedded process engine (plus Webapps when needed)
There are other possible variations that might also work, but are not tested by Camunda at the moment.