DEV Community

Cover image for Getting Started with Camunda & Spring Boot πŸƒ
Thomas Gotwig
Thomas Gotwig

Posted on β€’ Edited on

4 1

Getting Started with Camunda & Spring Boot πŸƒ

This tutorial intends to gives you a quick and practical introduction to the open-source workflow and decision automation platform Camunda! 🦊

Here you can find the code for this chapter under the git tag chapter-1.

πŸ’Ώ Requirements

  • Java 8+
  • Maven
  • Camunda Modeler (you can install it on Linux by executing support/xdg_register.sh after extracting the archive)

πŸƒ Let's go!

The easiest way to get started is to download this sample project:

curl -L https://github.com/camunda/camunda-get-started-spring-boot/archive/Step-3.zip \
  | bsdtar -xvf - -C .
Enter fullscreen mode Exit fullscreen mode

Which you can then execute with Maven:

cd camunda-get-started-spring-boot-Step-3 && mvn spring-boot:run
Enter fullscreen mode Exit fullscreen mode

Now surf towards localhost:8080 and login via demo & demo:

image

🌐 Taking a closer look into the browser app

Now click on Tasklist:

image

From the second column you can see that you have a process running, which is on hold because of the User Task named Check the request, which requires that a user takes a look at it and allows further execution:

image

You can do so by clicking on Complete from within the first tab:

image

βš™οΈ Adding a Service Task to loanApproval.bpmn

One way to let Camunda execute a own Java function by creating a Service Task from within the Camunda Modeler, you should see the following view by opening loanApproval.bpmn with the modeler:

image

Within block #1 you can set ID and Name, block #2 is for pointing to your own Java function. It's most practical name ID like your Java function:

package org.camunda.bpm.getstarted.loanapproval.delegates;

import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.springframework.stereotype.Component;

@Component
public class MainDelegate {

    public void validateTheRequest(DelegateExecution execution) {
        System.out.println("πŸš€ Executing MainDelegate.validateTheRequest");
    }
}

Enter fullscreen mode Exit fullscreen mode

Now you should see a new item from within your browser:

image

Switch back to the first tab Form and click again on Complete, this time it should go through your own Java function, the Spring terminal proves it:

...
2021-11-26 20:19:49.855  INFO 2249 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet        : Completed initialization in 5 ms
πŸš€ Executing MainDelegate.validateTheRequest
Enter fullscreen mode Exit fullscreen mode

Nice! πŸ₯³πŸŽ‰ I think I will add some testing for the next article, stay tuned and happy coding! πŸ€—

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs