Skip to content


Repository files navigation

Java framework for Cadence Build Status Javadocs Coverage Status

Cadence is a distributed, scalable, durable, and highly available orchestration engine we developed at Uber Engineering to execute asynchronous long-running business logic in a scalable and resilient way.

cadence-client is the framework for authoring workflows and activities in Java.

If you are authoring in Go, see Go Cadence Client.


For samples, see Samples for the Java Cadence client.

Run Cadence Server

Run Cadence Server using Docker Compose:

curl -O
docker-compose up

If this does not work, see instructions for running the Cadence Server at


CLI is avaialable as an executable or as a docker image

Build a configuration

Add cadence-client as a dependency to your pom.xml:


or to build.gradle:

compile group: 'com.uber.cadence', name: 'cadence-client', version: 'V.V.V'


The documentation on how to use the Cadence Java client is here.

Javadocs for the client API are located here.


We'd love your help in making the Cadence Java client great. Please review our contribution guidelines.


Apache License, please see LICENSE for details.