/camunda-7-remote-spring-boot-example

Example showing how to connect to a remote Camunda Run from Spring boot for external taks and OpenAPI REST calls

Primary LanguageJavaApache License 2.0Apache-2.0

Camunda Platform 7

Example showing how to connect to a remote Camunda Run from Spring boot for external taks and OpenAPI REST calls.

What's this?

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.

How to run?

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