ArtunSubasi / spring-zeebe

Easily use the Zeebe Java Client in your Spring or Spring Boot projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spring Zeebe

Maven Central

Build Status codecov Project Stats

This project allows to leverage Zeebe within your Spring or Spring Boot environment easily. It is basically a wrapper around the Zeebe Java Client.

How to use

Connect to Zeebe Broker

Just add the @EnableZeebeClient annotation to your Spring Boot Application:

@SpringBootApplication
@EnableZeebeClient
@ZeebeDeployment(classPathResource = "demoProcess.bpmn")
public class MySpringBootApplication {

Deploy Workflow Models

Use the @ZeebeDeployment annotation:

@SpringBootApplication
@EnableZeebeClient
@ZeebeDeployment(classPathResource = "demoProcess.bpmn")
public class MySpringBootApplication {

Implement Job Worker

@ZeebeWorker(type = "foo")
public void handleJobFoo(final JobClient client, final ActivatedJob job) {
  // do whatever you need to do
  client.newCompleteCommand(job.getKey()) 
     .variables("{\"fooResult\": 1}")
     .send().join();
}

Configuring Zeebe Connection

zeebe.worker.name="foo-worker"
zeebe.client.broker.contactPoint=127.0.0.1:26500
zeebe.client.security.plaintext=true

For a full set of configuration options please see ZeebeClientConfigurationProperties.java

Configuring Camunda Cloud Connection

Connections to the Camunda Cloud are supported out-of-the-box using environment variables. Have a look into the Environment section in the Zeebe Authorization documentation.

Add Spring Boot Starter to Your Project

Just add the following Maven dependency to your Spring Boot Starter project:

<dependency>
	<groupId>io.zeebe.spring</groupId>
	<artifactId>spring-zeebe-starter</artifactId>
	<version>${CURRENT_VERSION}</version>
</dependency>

Examples

Have a look into the examples/ folder for working Maven projects that might serve as inspiration.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to code-of-conduct@zeebe.io.

About

Easily use the Zeebe Java Client in your Spring or Spring Boot projects

License:Apache License 2.0


Languages

Language:Java 97.9%Language:Shell 2.1%