Skip to content
Hazelcast Persistence for Camunda (Community Extension)
Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src initial import Aug 24, 2015
.gitignore initial import Aug 24, 2015
README.md
pom.xml

README.md

camunda-engine-hazelcast

Hazelcast Persistence for Camunda (Community Extension)

Example Process

Getting Started

In order to get started with Camunda and Hazelcast, you need to setup a Java Project which has the camunda-engine-hazelcast in the classpath. If you use Apache Maven this would include the following dependencies:

<dependencies>
  <dependency>
    <groupId>org.camunda.bpm.ext</groupId>
    <artifactId>camunda-engine-hazelcast</artifactId>
    <version>1.0.0-alpha1</version>
  </dependency>
</dependencies>

Next, you create a Java Class with a Main Method configure and start Camunda:

public class Server {

  public static void main(String[] args) {

    ProcessEngine processEngine = new HazelcastProcessEngineConfiguration()
      .buildProcessEngine();

    try {

      // your code goes here...

    }
    finally {
      processEngine.close();
    }

  }

}

This starts up the Camunda Process Engine with an embedded Hazelcast Instance.

Once you have this set up, you can deploy a bpmn process:

// repository service allows managing deployments
final RepositoryService repositoryService = processEngine.getRepositoryService();

// create a new deployment of a simple workflow
repositoryService.createDeployment()
  .addModelInstance("test-process.bpmn",
    Bpmn.createExecutableProcess("testProcess")
      .startEvent()
      .receiveTask("waitForMessage")
      .endEvent()
    .done())
  .deploy();

In the code example above, the BPMN process is created using the fluent dsl. Resulting process consists of a start event, a message receive task and an end event:

Example Process

This process can be started like this:

final RuntimeService runtimeService = processEngine.getRuntimeService();

// start the process
ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");

// signal the process instance to continue
runtimeService.signal(pi.getId());

Read the Camunda Documentation.

You can’t perform that action at this time.