All Classes and Interfaces
Class
Description
An Activity is the implementation of a particular task in the business logic.
Thrown by
ActivityClient.start(java.lang.Class<I>, io.temporal.workflow.Functions.Proc1<I>, io.temporal.client.StartActivityOptions) when the server returns an ALREADY_EXISTS error because an
activity with the same ID is already running (or has a completed run that conflicts with the
requested StartActivityOptions.getIdReusePolicy() / StartActivityOptions.getIdConflictPolicy()).Usually indicates that activity was already completed (duplicated request to complete) or timed
out or cancellation was requested.
Token that allows an Activity implementation to observe cancellation requests.
In case of an activity's call scope cancellation the corresponding activity stub call fails with
a
CanceledFailure.Client for managing standalone activity executions.
Intercepts calls to the
ActivityClient related to the lifecycle of a
standalone Activity.Convenience base class for
ActivityClientCallsInterceptor implementations.Contains methods that could but didn't become a part of the main
ManualActivityCompletionClient, because they are not intended to be called by our users
directly.Registered on
ActivityClientOptions to intercept calls made by an
ActivityClient.Convenience no-op base class for
ActivityClientInterceptor implementations.Options for
ActivityClient configuration.Used to complete asynchronously activities that called
ActivityExecutionContext.doNotCompleteOnReturn().Base exception for all failures returned by an activity completion client.
Unexpected failure when completing an activity.
Base exception for standalone activity execution failures.
Context object passed to an Activity implementation.
Convenience class for implementing ActivityInterceptors.
Result of counting standalone activity executions.
An individual aggregation group.
Detailed information about a standalone activity execution, returned by
UntypedActivityHandle.describe().Information about a standalone activity execution returned by
ActivityClient.listExecutions(java.lang.String).Thrown by
ActivityHandle.getResult() when the standalone activity was not successful.Contains information about an activity failure.
A typed handle to a standalone activity execution.
Implementation of
UntypedActivityHandle that delegates lifecycle operations through the
interceptor chain.Intercepts inbound calls to the activity execution on the worker side.
Information about the Activity Task that the current Activity Execution is handling.
Indicates that an interface is an activity interface.
Dynamic implementation of a strongly typed activity interface.
Indicates that the method is an Activity method.
Usually indicates that activity was already completed (duplicated request to complete) or timed
out or workflow execution is closed (cancelled, terminated or timed out).
Options used to configure how an activity is invoked.
Indicates that the activity was paused by the user.
Indicates that the activity attempt was reset by the user.
Contains information about a slot that is being used to execute an activity task.
ActivityStub is used to call an activity without referencing an interface it implements.
Interface of an activity task handler.
Indicates that
WorkerFactory.shutdown() or WorkerFactory.shutdownNow() was
called.A simple implementation of an adjustable semaphore.
Used to categorize application failures, for example, to distinguish benign errors from others.
Application failure is used to communicate application specific failures between workflows and
activities.
Supports invoking lambdas and activity and child workflow references asynchronously.
Contains support for asynchronous invocations.
A simple async semaphore.
Provides core functionality for a root WorkflowInboundCallsInterceptor that is reused by specific
root RootWorkflowInboundCallsInterceptor implementations inside
DynamicSyncWorkflowDefinition and POJOWorkflowImplementationFactoryUsed to accumulate multiple operations
A mutable single-value container, usable where a effectively-final local variable is needed.
Deprecated.
Contains information about the reachability of a specific Build ID.
This exception is expected to be thrown only by the Temporal framework code.
Exception used to communicate failure of a request to cancel an external workflow.
Handle to a cancellation scope created through
Workflow.newCancellationScope(Runnable) or
Workflow.newDetachedCancellationScope(Runnable).Input to
TemporalOperationHandler.cancelWorkflowRun(io.temporal.nexus.TemporalOperationCancelContext, io.temporal.nexus.CancelWorkflowRunInput) describing the workflow run to
cancel.Performs encoding/decoding on the payloads via the given codecs.
Defines behaviour of the parent workflow when
CancellationScope that wraps child workflow
execution request is canceled.This exception is expected to be thrown only by the Temporal framework code.
Supports starting and signalling child workflows by the name and list of arguments.
Internal.
Client to the Temporal Cloud operations service for performing cloud operations.
A delegating
DataConverter implementation that wraps and chains both another DataConverter and several PayloadCodecs.Promise that exposes completion methods.Can be used to create a
WorkerTuner which uses specific SlotSuppliers for each
type of slot.Context Propagators are used to propagate information from the workflow client to workflow
execution, workflow to activity, workflow to child workflow, and workflow to child thread created
using
Async.This class holds the current set of context propagators
This class contain overrides for continueAsNew call.
CronSchedule - Optional cron schedule for workflow.
Thread local store of the context object passed to a nexus operation implementation.
Used by the framework to serialize/deserialize method parameters that need to be sent over the
wire.
A
DataConverter that delegates payload conversion to type specific PayloadConverter instances, and delegates failure conversions to a FailureConverter.A
FailureConverter that implements the default cross-language-compatible conversion
algorithm.Used to interrupt deterministic thread execution.
Use DynamicActivity to implement any number of activity types dynamically.
Use DynamicQueryHandler to process any query dynamically.
Use DynamicSignalHandler to process any signal dynamically.
Use DynamicUpdateHandler to process any update dynamically.
Use DynamicWorkflow to implement any number of workflow types dynamically.
The main goal for this Iterator implementation is to abstract the functionality of "eager
pagination".
Annotation that specifies that an element is experimental, has unstable API or may change without
notice.
Configuration for offloading large payloads to external storage.
Supports signalling and cancelling any workflow by the workflow type and their id.
A
FailureConverter is responsible for converting from proto Failure instances to
Java Exception, and back.This implementation of
SlotSupplier provides a fixed number of slots backed by a
semaphore, and is the default behavior when a custom supplier is not explicitly specified.Implements conversion through GSON JSON processor.
Actions taken if a workflow terminates with running handlers.
SerializationContext that contains Namespace and Workflow ID of the Serialization Target.Manages periodic worker heartbeat RPCs.
Helper methods supporting transformation of History's "Proto Json" compatible format, which is
supported by
JsonFormat to the format of Temporal history
supported by Temporal CLI and back.Converts history protos into human readable format
Specifies the versioning behavior for the first task of a new workflow run started via
continue-as-new.
Internal context object passed to an Activity implementation, providing more internal details
than the user facing
ActivityExecutionContext.Utility functions shared by the implementation code.
A
PayloadConverter that uses Jackson 3.x for JSON serialization/deserialization.SystemResourceInfo implementation that uses JVM-specific APIs to get resource usage.This class allows checking if the class is Kotlin class without using any Kotlin dependencies
Eager iterator for listing schedules.
Options used to configure how a local Activity is invoked.
Contains information about a slot that is being used to execute a local activity.
This client is attached to a specific activity execution and let user report completion
(successful, failed or confirm cancellation) and perform heartbeats.
Provides language specific functionality to disassemble method references that could be passed
from different languages into temporal code and extract target from them, which is required for
correct working of
AsyncSpecifies a retry policy for a workflow or activity method.
MutableSideEffectOptions is used to specify options for a side effect.
Holds namespace-level capabilities discovered from the server's DescribeNamespace response.
Inject the namespace into the gRPC header, overriding the current namespace if already set.
This class contains methods exposing Temporal APIs for Nexus Operations
Client for managing standalone Nexus operation executions.
Per-call interceptor for
NexusClient and NexusOperationHandle operations on
standalone Nexus operation executions.Result of a list call.
Convenience base class for
NexusClientCallsInterceptor implementations that need to
override only a subset of methods.Outer interceptor for
NexusClient.Convenience base class for
NexusClientInterceptor implementations.Options that configure a
NexusClient (and the service-bound clients it produces).Builder for
NexusClientOptions.Thrown by
NexusClient / NexusServiceClient when the server returns an
ALREADY_EXISTS error because a Nexus operation with the same ID is already running (or has a
completed run that conflicts with the requested StartNexusOperationOptions.getIdReusePolicy() / StartNexusOperationOptions.getIdConflictPolicy()).Information about a cancellation request issued against a standalone Nexus operation execution.
Defines behavior of the parent workflow when
CancellationScope that wraps Nexus operation
is canceled.Context object passed to a Nexus operation implementation.
Base exception for standalone Nexus operation execution failures.
NexusOperationExecution identifies a specific Nexus operation execution.
Result of counting standalone Nexus operation executions.
An individual aggregation group.
Detailed information about a standalone Nexus operation execution, returned by
UntypedNexusOperationHandle.describe().Information about a standalone Nexus operation execution returned by
NexusClient.listNexusOperationExecutions(java.lang.String).Thrown by
UntypedNexusOperationHandle.getResult(java.lang.Class<R>) when the standalone Nexus operation was
not successful.Contains information about a Nexus operation failure.
A typed handle to a standalone Nexus operation execution.
OperationHandle is used to interact with a scheduled nexus operation.
Implementation of
UntypedNexusOperationHandle that delegates lifecycle operations through
the interceptor chain.Intercepts inbound calls to a Nexus operation on the worker side.
Convenience base class for
NexusOperationInboundCallsInterceptor implementations.Temporal information about the Nexus Operation.
Thrown when a Nexus operation with the given ID is not known to the Temporal service or is in an
incorrect state to perform the requested operation.
NexusOperationOptions is used to specify the options for starting a Nexus operation from a
Workflow.
Can be used to intercept calls from a Nexus operation into the Temporal APIs.
Convenience base class for
NexusOperationOutboundCallsInterceptor implementations.Typed client for invoking standalone Nexus operations on a specific service interface
T.Options for configuring a NexusService in a Workflow.
NexusServiceStub is used to start operations on a Nexus service without referencing an interface
it implements.
Contains information about a slot that is being used to execute a nexus task.
Shared helper for starting a workflow from a Nexus operation and attaching workflow links to the
operation context.
Thrown if history events from the server don't match commands issued by the execution or replay
of workflow code.
This interface signifies that the implementation of
NonIdempotentHandle.close() method may and likely is not
idempotent, which is in agreement with AutoCloseable.close() contract.Encodes and decodes null values.
OnConflictOptions specifies the actions to be taken when using the
WorkflowIdConflictPolicy.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTINGDeserialized representation of a Nexus operation token.
Codec that encodes or decodes the given payloads.
Used by the framework to serialize/deserialize method parameters that need to be sent over the
wire.
Internal utilities for plugin management.
Metadata of an activity implementation object.
Metadata of an activity interface.
Metadata of a single activity method.
Rules:
A workflow implementation must implement at least one non empty interface annotated with
WorkflowInterface
An interface annotated with WorkflowInterface can extend zero or more interfaces.
Metadata of a workflow interface.
Metadata of a single workflow method.
Defines the behavior of a poller.
A poller behavior that will automatically scale the number of pollers based on feedback from the
server.
A poller behavior that will attempt to poll as long as a slot is available, up to the provided
maximum.
Options for component that polls Temporal task queues for tasks.
Tracks in-flight poll count and last successful poll time for heartbeat reporting.
PollScaleReportHandle is responsible for managing the scaling of pollers based on the scaling
feedback attached to the task by the server.
A workflow tasks are allowed to execute only some limited amount of time without interruption.
Priority contains metadata that controls the relative ordering of task processing when tasks are
backed up in a queue.
Contains result of an asynchronous computation.
Because in Go enums are in a shared namespace, one of protobuf common practices is to prefix the
enums with enum name prefix to create unique names.
Indicates that the method is a query method.
Encapsulates a special query implementation for replaying workflow histories to support
Worker.replayWorkflowExecution(io.temporal.internal.common.WorkflowExecutionHistory)RawValue is a representation of an unconverted, raw payload.
This exception is thrown when a workflow tries to perform an operation that could generate a new
command while it is in a read only context.
Manages event loop, workflow method, an abstraction level over Deterministic Runner to provide a
communication interface for the control thread for Start, Signal, Query, etc.
Represents the context of workflow for workflow code.
Is used by
ResourceBasedSlotSupplier and ResourceBasedTuner to make decisions
about whether slots should be handed out based on system resource usage.Options for a
ResourceBasedControllerOptions resource-based slot suppliers
Implements a
SlotSupplier based on resource usage for a particular slot type.A
WorkerTuner that attempts to allocate slots based on available system resources.Terminus of the activity interceptor chain.
Root implementation of
NexusClientCallsInterceptor that converts the SDK's Java DTOs into
proto requests and delegates the actual gRPC calls to GenericWorkflowClient.This class implements the logic to execute compensation operations that is
often required in Saga applications.
Interface for tasks that can provide scaling feedback from the server.
Represents a scaling decision made by the task.
A schedule for periodically running an action.
Base class for an action a schedule can take.
Base class for an action execution.
Action execution representing a scheduled workflow start.
Information about when an action took place.
Schedule action to start a workflow.
Exception thrown by client when attempting to create a schedule that was already created.
Time period and policy for actions taken as if their scheduled time has already passed.
Specification of when to run an action in relation to calendar time.
Client to the Temporal service used to create, list and get handles to Schedules.
Intercepts calls to the
ScheduleClient and ScheduleHandle related to the lifecycle of a Schedule.Convenience base class for
ScheduleClientCallsInterceptor implementations.Intercepts calls to the
ScheduleClient and ScheduleHandle related to the
lifecycle of a Schedule.Convenience base class for ScheduleClientInterceptor implementations.
Options for ScheduleClient configuration.
Plugin interface for customizing Temporal schedule client configuration.
Description of a schedule.
Exception thrown by client when attempting to create a schedule.
Handle for interacting with a schedule.
Information about a schedule.
Specification for scheduling on an interval.
Base class for an action a listed schedule can take.
Action to start a workflow on a listed schedule.
Description of a listed schedule.
Information about a listed schedule.
Details for a listed schedule.
State of a listed schedule.
Options for creating a schedule.
Policies of a schedule.
Inclusive range for a schedule match value.
Specification of the times scheduled actions may occur.
State of a schedule.
An update returned from a schedule updater.
Parameter passed to a schedule updater.
SdkFlag represents a flag used to help version the sdk internally to make breaking changes in
workflow logic.
Represents all the flags that are currently set in a workflow execution.
Deprecated.
typed search attributes should be used instead.
Representation of a typed search attribute key.
Immutable collection of typed search attributes.
Builder for creating a search attribute collection.
Representation of a search attribute update inside a workflow.
Temporal SDK may provide a subclass of
SerializationContext during data serialization to
identify the context of this serialization.Exceptions originated at the Temporal service.
This class provides shading-safe utils that don't return classes that we relocate during shading
to the caller.
Specialization of
TaskExecutor that can be shutdown.SideEffectOptions is used to specify options for a side effect.
Exception used to communicate failure of a request to signal an external workflow.
Indicates that the method is a signal handler method.
A plugin that implements
WorkflowServiceStubsPlugin, WorkflowClientPlugin, ScheduleClientPlugin, and WorkerPlugin.Builder for creating
SimplePlugin instances with declarative configuration.The base class that all slot info types used by
SlotSupplier extend.This class is handed out by implementations of
SlotSupplier.The slot was released because some error was encountered before the slot could be used to
actually process the task.
The slot was released because it was never needed.
The slot was released because the task was completed (regardless of status).
The slot was released because the task will be retried.
A SlotSupplier is responsible for managing the number of slots available for a given type of
task.
Represents a future that will be completed with a
SlotPermit when a slot is available.Options for starting a standalone activity via
ActivityClient.start(java.lang.Class<I>, io.temporal.workflow.Functions.Proc1<I>, io.temporal.client.StartActivityOptions).Per-call options for starting a standalone Nexus operation via
UntypedNexusServiceClient.start(java.lang.String, io.temporal.client.StartNexusOperationOptions, java.lang.Object) (or its typed counterpart).Temporal SDK should use Standard data converter for fields needed for internal essential
functionality.
Stores and retrieves payloads in an external storage system.
Identity of the activity a payload is being stored on behalf of.
Driver-defined reference to an externally stored payload, used to retrieve it later.
Chooses which
StorageDriver stores a given payload.Identity of the workflow or activity a payload is being stored on behalf of.
Identity of the workflow a payload is being stored on behalf of.
Interface that stub created through
Workflow.newChildWorkflowStub(Class) implements.Reason(s) why the server suggests a workflow should continue-as-new.
Activity worker that supports POJO activity implementations.
Facade that supports a lifecycle and maintains an assembly of
WorkflowWorker that performing execution of workflow task
LocalActivityWorker that performs execution of local activities scheduled by the
workflow tasks
and exposing additional management helper methods for the assembly.Implementors determine how resource usage is measured.
Tracks total processed and failed task counts for a worker.
Base class for all exceptions thrown by Temporal SDK.
Represents failures that can cross workflow and activity boundaries.
Nexus-aware client wrapping
WorkflowClient.Context for a Nexus cancel operation request, passed to
TemporalOperationHandler.cancelWorkflowRun(io.temporal.nexus.TemporalOperationCancelContext, io.temporal.nexus.CancelWorkflowRunInput).Generic Nexus operation handler backed by Temporal.
Handler invoked when a Nexus start operation request is received.
Unified result type for Temporal-backed Nexus operations.
Context for a Nexus start operation request, passed to
TemporalOperationHandler.StartHandler alongside the TemporalNexusClient and input.This exception is expected to be thrown only by the Temporal framework code.
Function interface for
VirtualThreadDelegate.newVirtualThreadExecutor(ThreadConfigurator)
called for every thread created.This exception is expected to be thrown only by the Temporal framework code.
TimerOptions is used to specify options for a timer.
Wraps a slot supplier and supplements it with additional tracking information that is useful to
provide to all implementations.
This exception is thrown when worker has
an activity instance for the activity type
a workflow type or factory for the workflow type
already registered.
Internal.
Thrown when
Workflow.continueAsNew(java.lang.Object...) is called from an unsupported
location.Thrown when
Workflow.getVersion(String, int, int) detects that the
workflow history was generated by a code that doesn't comply with specified min and max versions.An untyped handle to a standalone activity execution.
An untyped handle to a standalone Nexus operation execution.
Untyped client for invoking standalone Nexus operations by operation-name string.
Provides information about the current workflow Update.
Indicates that the method is an update handler method.
Indicates that the method is an update validator handle.
Value that can be extracted to an appropriate type.
Specifies when a workflow might move from a worker of one Build Id to another.
Deprecated.
Represents the override of a worker's versioning behavior for a workflow execution.
The workflow will auto-upgrade to the current deployment version on the next workflow task.
Workflow will be pinned to a specific deployment version.
Internal delegate for virtual thread handling on JDK 21.
This class buffers events between WorkflowTaskStarted events and return them in one chunk so any
kinds of look ahead and preloading can be implemented.
WithStartWorkflowOperation is a start workflow request that can be executed together with an
update workflow request.
Hosts activity, nexus and workflow implementations.
Deprecated.
Worker Versioning is now deprecated please migrate to the Worker Deployment API.
Represents a set of Build Ids which are compatible with one another.
Handles server-to-worker commands delivered on the worker command Nexus task queue.
Options for configuring the Worker Versioning feature.
Represents the version of a specific worker deployment.
Maintains worker creation and lifecycle.
Intercepts workflow and activity executions.
Plugin interface for customizing Temporal worker configuration and lifecycle.
Callback interface for replay chain that can throw exceptions.
Contains information about the reachability of some Build IDs.
WorkerTuners allow for the dynamic customization of some aspects of worker configuration.
Contains old and new worker versioning options together.
This class contains methods exposing Temporal API for Workflows, like
Creation and scheduling of activities, child workflows, external workflows, continue-as-new
runs
Operations over workflow elements, like Side Effects, Timers, Versions,
CancellationScope
Accessing and updating of the workflow data, like WorkflowInfo, Memos and Search
Attributes
Deterministic implementation of popular non-deterministic API working with time, logging
and generation of random values
Methods of this class are intended to be called from a workflow method only until explicitly
stated otherwise on the specific method's javadoc.Client to the Temporal service used to start and query workflows by external processes.
Intercepts calls to the
WorkflowClient related to the lifecycle of a
Workflow.Convenience base class for
WorkflowClientCallsInterceptor implementations.Contains different methods that could but didn't become a part of the main
WorkflowClient, mostly because they shouldn't be a part of normal usage and exist for tests /
debug only.Convenience base class for WorkflowClientInterceptor implementations.
From OOP point of view, there is no reason for this interface not to extend
WorkflowClient.Options for WorkflowClient configuration.
Plugin interface for customizing Temporal workflow client configuration.
Core top level workflow context
Base exception for all workflow failures.
This exception is thrown in the following cases:
Workflow with the same WorkflowId is currently running.
Result of counting workflow executions.
Individual aggregation group record.
Contains information about a workflow execution.
Internal.
Provides a wrapper with convenience methods over raw protobuf
History object representing
workflow historyDeprecated.
use
WorkflowExecutionHistory instead.WorkflowExecutionMetadata contains information about a workflow execution.
Convenience methods to be used by unit tests and during development.
Indicates that a workflow failed.
WorkflowHandle is a readonly representation of a workflow run backing a Nexus operation.
Function interface for
WorkflowRunOperation.fromWorkflowHandle(WorkflowHandleFactory)
representing the workflow to associate with each operation call.Intercepts inbound calls to the workflow execution on the worker side.
Convenience base class for WorkflowInboundCallsInterceptor implementations.
Provides information about the current Workflow Execution and Run.
Indicates that the constructor should be used as a workflow initialization method.
WorkflowInterface annotation indicates that an interface is a Workflow interface.
Never reference directly.
A value that is local to a single workflow execution.
Workflow lock is an alternative to
Lock that is deterministic
and compatible with Temporal's concurrency model.Indicates that the method is a workflow method.
Function interface for
WorkflowRunOperation.fromWorkflowMethod(WorkflowMethodFactory)
representing the workflow method to invoke for every operation call.Thrown when a workflow with the given id is not known to the Temporal service or in an incorrect
state to perform the operation.
Can be used to intercept calls from to workflow code into the Temporal APIs.
Convenience base class for WorkflowOutboundCallsInterceptor implementations.
If workflow gets rejected based on
QueryRejectCondition specified on WorkflowClientOptions.getQueryRejectCondition()WorkflowRunOperation can be used to map a workflow run to a Nexus operation
Task handler that encapsulates a cached workflow and can handle multiple calls to
handleWorkflowTask for the same workflow run.
Workflow semaphore is an alternative to
Semaphore that is
deterministic and compatible with Temporal's concurrency model.Contains information about a slot that is being used to execute a workflow task.
WorkflowStub is a client side stub to a single workflow instance.
Options for targeting a specific workflow execution.
A callback into a
WorkflowWorker to dispatch a workflow taskInterface of workflow task handlers.
Thread that is scheduled deterministically by
DeterministicRunner.Abstracts the
ThreadPoolExecutor that is used to submit workflow
thread tasks to allow higher levels to define additional wrapping logic like worker-wide metric
reporting.ThreadLocal analog for workflow code.While
Workflow contains methods exposing the main Temporal Workflow
API that is safe to use by majority of our users, this class contains the part of the Workflow
API that is discouraged to be used without careful consideration.Exception used to communicate failure of an update workflow execution request.
WorkflowUpdateHandle is a handle to an update workflow execution request that can be used to get
the status of that update request.
Error that occurs when an update call times out or is cancelled.
Indicates the versioning behavior of this workflow.
PayloadCodec that provides a basic compression using Zlib.