This example demonstrates how you can build Spring Boot Web application having following configured:
- Embedded Camunda engine accessible via REST
- Process application and one BPMN process deployed
- Spring Boot Security basic authentication
It also contains couple of integration tests, showing how this can be tested.
- To embed Camunda Engine accessible via REST API you must add following dependency in your
pom.xml
:
...
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
<version>2.3.0-SNAPSHOT</version>
</dependency>
...
- With Spring Boot you usually create "application" class annotated with
@SpringBootApplication
. In order to have Camunda process application registered, you can simply add annotation@EnableProcessApplication
to the same class and also includeprocesses.xml
file in yourMETA-INF
folder:
@SpringBootApplication
@EnableProcessApplication
public class RestApplication {
public static void main(final String... args) throws Exception {
SpringApplication.run(RestApplication.class, args);
}
}
- You can also put BPMN, CMMN and DMN files in your classpath, they will be automatically deployed and registered within process application.
Note: Basic authentication is configured on Spring Boot level, this is NOT Camunda Engine authentication. Check this docs to configure Basic Authentication for Camunda Engine REST API.
You can then build the application by calling mvn clean install
and then run it with java -jar
command.
Then you can access REST API in browser: http://localhost:8080/rest/engine
(provide login/password: user/password)
Another endpoint to test: http://localhost:8080/rest/engine/default/process-definition
- this will show you the deployed process definition.