Skip to content

uber/cadence-java-client

Repository files navigation

Java framework for Cadence Build Status Javadocs codecov

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/uber/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.

Contributing

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

License

Apache License, please see LICENSE for details.