Java framework for Cadence [](https://github.com/cadence-workflow/cadence-java-client/actions/workflows/ci-checks.yml) [](https://www.javadoc.io/doc/com.uber.cadence/cadence-client) [](https://codecov.io/gh/cadence-workflow/cadence-java-client)
May 1, 2026 ยท View on GitHub
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.
Samples
For samples, see Samples for the Java Cadence client.
Run Cadence Server
Run Cadence Server using Docker Compose:
curl -O https://raw.githubusercontent.com/uber/cadence/master/docker/docker-compose.yml
docker-compose up
If this does not work, see instructions for running the Cadence Server at https://github.com/cadence-workflow/cadence/blob/master/README.md.
Get CLI
CLI is avaialable as an executable or as a docker image
Build a configuration
Add cadence-client as a dependency to your pom.xml:
<dependency>
<groupId>com.uber.cadence</groupId>
<artifactId>cadence-client</artifactId>
<version>V.V.V</version>
</dependency>
or to build.gradle:
compile group: 'com.uber.cadence', name: 'cadence-client', version: 'V.V.V'
Documentation
The documentation on how to use the Cadence Java client is here.
Javadocs for the client API are located here.
Community
Join our community on the CNCF Slack workspace at cloud-native.slack.com in the #cadence-users channel for discussions, questions, and support.
Contributing
We'd love your help in making the Cadence Java client great. Please review our contribution guidelines.
If you'd like to propose a new feature, first join the CNCF Slack workspace in the #cadence-users channel to start a discussion.
License
Apache 2.0 License, please see LICENSE for details.