Introducing Activiti

Activiti is a BPMN 2.0 process-engine framework that implements the BPMN 2.0 specification.
It's able to perform BPMN 2.0 functions including deploy process definitions, start new process instances, execute user tasks ecc.ecc..
Its core is a super-fast and rock-solid BPMN 2 process engine for Java.

Activiti Engine

This is the heart of the Activiti project. It's a Java process engine that runs BPMN 2 processes natively. It will have the following key properties:

  • Allows user updates to be combined with process updates in a single transaction

  • Runs on any Java environment like Spring, JTA, standalone with any form of transaction demarcation

  • Easy to get up and running with the setup utility

  • Built to support the cloud scalability from the ground up

  • Very simple to add new custom activity types and complete dedicated process languages

  • Transactional timers

  • Asynchronous continuations

  • Hidden event listeners for decoupling software technical details from business level diagram

  • Ability to test process executions in isolation in a plain unit test

Goal of this guide

The goal of this guide is to look into the details for using Activiti inside ServiceMix:

  • create a project

  • write and debug a simple process


The Apache ServiceMix distributions also contain a Activiti example. You can find these example in the examples/activiti directory.

More information about Activiti

More information about Activiti itself, can be found on

There's also book available about Activiti

  • Tijs Rademakers. (July 2012). Activiti in Action. Greenwich, CT: Manning. ISBN: 9781617290121.