In this repository you can find some sample external worker implementation using camunda-external-task-client, this spring-boot application act as a client by subscribing to set of topics (Camunda's external service tasks), this client continuously poll to camunda with backoff strategy to process active instances.
Camunda Rest API - FetchAndLock backoff strategy based integration.
- Default build/runtime: Java 21
- Optional fallback: Java 17 via Maven profile
java17
-
Start camunda instance in your local using docker image
docker pull camunda/camunda-bpm-platform:latest docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest -
Install Camunda Modeler Camunda Modeler
-
Deploy BPMN file using modeler -
resource/order-processing.bpmn -
Deploy the process definition using Camunda Rest API
curl -X POST http://localhost:8080/engine-rest/deployment/create \ --user demo:demo \ -H "Content-Type: multipart/form-data" \ -F "deployment-name=order-processing.bpmn" \ -F "data=@./src/main/resources/order-processing.bpmn" -
Start a process instance using Camunda UI - tasklist option.
-
Deploy and Start the process using Camunda modeler or Curl command as mentioned above.
-
Process waits at the
Receive Taskuntil it receives the message with nameSimpleNotifyRefand business keyExample-9001, you can trigger the message using below curl command or using Camunda UI - Message option.
curl -X POST http://localhost:8080/engine-rest/message \
--user demo:demo \
-H "Content-Type: application/json" \
-d '{
"messageName": "SimpleNotifyRef",
"businessKey": "Example-90001",
"resultEnabled": true
}'Refer below links for more information
