Example showing how to connect to a remote Camunda Run from Spring boot for external taks and OpenAPI REST calls.
Example using the Camunda Engine REST Client Java community extension to leverage a remote Camunda engine, most probably Camunda Run.
This example:
- Provides a BPMN process that is auto-deployed during startup
- Starts a new process instance upon a REST request (of course, you can use different mechanisms to provide a REST endpoint if you like, it is just an example.
- The same class also provides a REST endpoint to query actively running process instances.
- Adds an external task worker to implement a BPMN service task
- Shows an advanced example of an REST endpoint, where the REST call synchronously returns some data from the process. In the example, if the provided number is valid. To implement this, a specific ServiceTask is used to mark the moment in the process where the control is handed back to the Java code of the REST endpoint. This also has to deal with timeouts, as the process execution itself is asynchronous and can take longer.
- Start Camunda Run, for example
- Download and tun this Spring Boot app via your favorite IDE
- Access one of the REST endpoints below
Start a process instance without waiting for the result
curl -i -X PUT http://localhost:8090/start
Get all active process instances (as an example how to use the history query API):
curl -i -X GET http://localhost:8090/info
Start a process instance waiting for the result (the extension mentioned below)
curl -i -X PUT http://localhost:8090/startWithResponse