Skip to main content

Temporal Java SDK development documentation

This guide is meant to provide a comprehensive overview of the structures, primitives, and features used in Temporal Application development.

Project-setup

The project setup section of the Temporal Java SDK Developer's guide covers the minimum set of concepts and implementation details needed to build and run a Temporal Application in java—that is, all the relevant steps to start a Workflow Execution that executes an Activity.

Durable-execution

The Durable Execution section of the Temporal Developer's guide covers advanced beginner concepts for working with Temporal, including testing your code, reviewing workflow event history, adding timers, and understanding determinism. Developing for durable execution is a core aspect of Temporal.

  • Retrieve a Workflow Execution's Event History: Learn how to retrieve your Workflow Execution's Event History
  • Add a Replay test: Define the code needed to run a Worker Process in Go.
  • Intrinsic non-deterministic logic: This kind of logic prevents the Workflow code from executing to completion because the Workflow can take a different code path than the one expected from the Event History.
  • Non-deterministic code changes: History Replay, sometimes also called Workflow Replay, is the mechanism that Temporal uses to reconstruct the state of a Workflow Execution. Temporal provides Durable Execution via this Replay Functionality.
  • Workflow Reset: One option when handling an non-deterministic error is to reset the Workflow to a point prior to the Event where the non-deterministic error occurred, allowing for the Workflow to continue.

Foundations

The Foundations section of the Temporal Developer's guide covers the minimum set of concepts and implementation details needed to build and run a Temporal Application – that is, all the relevant steps to start a Workflow Execution that executes an Activity.

Features

The Features section of the Temporal Developer's guide provides basic implementation guidance on how to use many of the development features available to Workflows and Activities in the Temporal Platform.

Observability

Improve observability in your Java-based Temporal Workflows. View which Workflow Executions are tracked by the Temporal Platform and the state of any Workflow Execution.

  • How to emit metrics: Each Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.
  • How to setup Tracing: Tracing allows you to view the call graph of a Workflow along with its Activities and any Child Workflows.
  • How to log from a Workflow: Send logs and errors to a logging service, so that when things go wrong, you can see what happened.
  • How to use Visibility APIs: The term Visibility, within the Temporal Platform, refers to the subsystems and APIs that enable an operator to view Workflow Executions that currently exist within a Cluster.

Testing

The Testing section of the Temporal Developer's guide covers the many ways to test the state of your Temporal Application; that is, ways to view which Workflow Executions are tracked by the Platform and the state of any given Workflow Execution, either currently or at points of an execution.

Debugging

The Debugging section of the Temporal Developer's guide covers the many ways to debug your application.

Versioning

The Versioning section of the Temporal Developer's guide covers how to update Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.

Converters

The Converters and Codecs section of the Temporal Developer's guide provides guidance on how to support compression, encryption, and other special data handling by implementing custom converters and codecs.