Class RootNexusClientInvoker
java.lang.Object
io.temporal.internal.client.RootNexusClientInvoker
- All Implemented Interfaces:
NexusClientCallsInterceptor
@Experimental
public class RootNexusClientInvoker
extends Object
implements NexusClientCallsInterceptor
Root implementation of
NexusClientCallsInterceptor that converts the SDK's Java DTOs into
proto requests and delegates the actual gRPC calls to GenericWorkflowClient.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.temporal.common.interceptors.NexusClientCallsInterceptor
NexusClientCallsInterceptor.CountNexusOperationExecutionsInput, NexusClientCallsInterceptor.CountNexusOperationExecutionsOutput, NexusClientCallsInterceptor.DeleteNexusOperationExecutionInput, NexusClientCallsInterceptor.DeleteNexusOperationExecutionOutput, NexusClientCallsInterceptor.DescribeNexusOperationExecutionInput, NexusClientCallsInterceptor.DescribeNexusOperationExecutionOutput, NexusClientCallsInterceptor.GetNexusOperationResultInput<R>, NexusClientCallsInterceptor.GetNexusOperationResultOutput<R>, NexusClientCallsInterceptor.ListNexusOperationExecutionsInput, NexusClientCallsInterceptor.ListNexusOperationExecutionsOutput, NexusClientCallsInterceptor.RequestCancelNexusOperationExecutionInput, NexusClientCallsInterceptor.RequestCancelNexusOperationExecutionOutput, NexusClientCallsInterceptor.StartNexusOperationExecutionInput, NexusClientCallsInterceptor.StartNexusOperationExecutionOutput, NexusClientCallsInterceptor.TerminateNexusOperationExecutionInput, NexusClientCallsInterceptor.TerminateNexusOperationExecutionOutput -
Constructor Summary
ConstructorsConstructorDescriptionRootNexusClientInvoker(GenericWorkflowClient genericClient, NexusClientOptions clientOptions) -
Method Summary
Modifier and TypeMethodDescriptionReturns the count of standalone Nexus operation executions matching a Visibility query, optionally grouped by attribute.Deletes a closed standalone Nexus operation execution from the server's visibility store.describeNexusOperationExecution(NexusClientCallsInterceptor.DescribeNexusOperationExecutionInput input) Returns a point-in-time snapshot of a standalone Nexus operation execution.Synchronously waits for a standalone Nexus operation to complete and returns the deserialized result.Asynchronous variant ofNexusClientCallsInterceptor.getNexusOperationResult(io.temporal.common.interceptors.NexusClientCallsInterceptor.GetNexusOperationResultInput<R>)that returns a future without blocking the calling thread.Lists standalone Nexus operation executions matching a Visibility query.requestCancelNexusOperationExecution(NexusClientCallsInterceptor.RequestCancelNexusOperationExecutionInput input) Requests cancellation of a running standalone Nexus operation.Starts a standalone Nexus operation.terminateNexusOperationExecution(NexusClientCallsInterceptor.TerminateNexusOperationExecutionInput input) Forcefully terminates a standalone Nexus operation.
-
Constructor Details
-
RootNexusClientInvoker
public RootNexusClientInvoker(GenericWorkflowClient genericClient, NexusClientOptions clientOptions)
-
-
Method Details
-
startNexusOperationExecution
public NexusClientCallsInterceptor.StartNexusOperationExecutionOutput startNexusOperationExecution(NexusClientCallsInterceptor.StartNexusOperationExecutionInput input) Description copied from interface:NexusClientCallsInterceptorStarts a standalone Nexus operation. The endpoint, service, operation name, input, and scheduling options are carried ininput.- Specified by:
startNexusOperationExecutionin interfaceNexusClientCallsInterceptor- Parameters:
input- endpoint, service name, operation name, encoded input, and start options- Returns:
- output containing the operation ID, server-assigned run ID, and whether the operation was started by this call (vs. de-duplicated to an existing one)
-
describeNexusOperationExecution
public NexusClientCallsInterceptor.DescribeNexusOperationExecutionOutput describeNexusOperationExecution(NexusClientCallsInterceptor.DescribeNexusOperationExecutionInput input) Description copied from interface:NexusClientCallsInterceptorReturns a point-in-time snapshot of a standalone Nexus operation execution.- Specified by:
describeNexusOperationExecutionin interfaceNexusClientCallsInterceptor- Parameters:
input- operation ID and optional run ID- Returns:
- output wrapping the
NexusOperationExecutionDescription
-
getNexusOperationResult
public <R> NexusClientCallsInterceptor.GetNexusOperationResultOutput<R> getNexusOperationResult(NexusClientCallsInterceptor.GetNexusOperationResultInput<R> input) throws TimeoutException Description copied from interface:NexusClientCallsInterceptorSynchronously waits for a standalone Nexus operation to complete and returns the deserialized result. Implementations own the poll loop, deadline enforcement, andPayload→Rdeserialization. Blocks the calling thread for the duration.If you implement this method,
NexusClientCallsInterceptor.getNexusOperationResultAsync(io.temporal.common.interceptors.NexusClientCallsInterceptor.GetNexusOperationResultInput<R>)most likely needs to be implemented too.- Specified by:
getNexusOperationResultin interfaceNexusClientCallsInterceptor- Type Parameters:
R- the expected result type- Parameters:
input- operation ID, optional run ID, deadline, and the expected result class and type- Returns:
- output wrapping the deserialized result
- Throws:
TimeoutException- if the deadline expires before the operation completes- See Also:
-
getNexusOperationResultAsync
public <R> CompletableFuture<NexusClientCallsInterceptor.GetNexusOperationResultOutput<R>> getNexusOperationResultAsync(NexusClientCallsInterceptor.GetNexusOperationResultInput<R> input) Description copied from interface:NexusClientCallsInterceptorAsynchronous variant ofNexusClientCallsInterceptor.getNexusOperationResult(io.temporal.common.interceptors.NexusClientCallsInterceptor.GetNexusOperationResultInput<R>)that returns a future without blocking the calling thread.If you implement this method,
NexusClientCallsInterceptor.getNexusOperationResult(io.temporal.common.interceptors.NexusClientCallsInterceptor.GetNexusOperationResultInput<R>)most likely needs to be implemented too.- Specified by:
getNexusOperationResultAsyncin interfaceNexusClientCallsInterceptor- Type Parameters:
R- the expected result type- Parameters:
input- operation ID, optional run ID, deadline, and the expected result class and type- Returns:
- a future that completes with the deserialized result, or completes exceptionally with
NexusOperationFailedExceptionon failure orTimeoutExceptionon deadline expiry - See Also:
-
listNexusOperationExecutions
public NexusClientCallsInterceptor.ListNexusOperationExecutionsOutput listNexusOperationExecutions(NexusClientCallsInterceptor.ListNexusOperationExecutionsInput input) Description copied from interface:NexusClientCallsInterceptorLists standalone Nexus operation executions matching a Visibility query. The returned output contains a lazyStreamof deserializedNexusOperationExecutionMetadataobjects; pages are fetched on demand as the stream is consumed.- Specified by:
listNexusOperationExecutionsin interfaceNexusClientCallsInterceptor- Parameters:
input- Visibility query string- Returns:
- output wrapping a lazy stream of matching operations
-
countNexusOperationExecutions
public NexusClientCallsInterceptor.CountNexusOperationExecutionsOutput countNexusOperationExecutions(NexusClientCallsInterceptor.CountNexusOperationExecutionsInput input) Description copied from interface:NexusClientCallsInterceptorReturns the count of standalone Nexus operation executions matching a Visibility query, optionally grouped by attribute.- Specified by:
countNexusOperationExecutionsin interfaceNexusClientCallsInterceptor- Parameters:
input- Visibility query string- Returns:
- output wrapping the total count and any aggregation groups
-
requestCancelNexusOperationExecution
public NexusClientCallsInterceptor.RequestCancelNexusOperationExecutionOutput requestCancelNexusOperationExecution(NexusClientCallsInterceptor.RequestCancelNexusOperationExecutionInput input) Description copied from interface:NexusClientCallsInterceptorRequests cancellation of a running standalone Nexus operation. The server forwards the cancel request to the operation handler, which may honour or ignore it.- Specified by:
requestCancelNexusOperationExecutionin interfaceNexusClientCallsInterceptor- Parameters:
input- operation ID, optional run ID, and optional human-readable cancellation reason- Returns:
- an empty output that exists so the call can carry fields in the future
-
terminateNexusOperationExecution
public NexusClientCallsInterceptor.TerminateNexusOperationExecutionOutput terminateNexusOperationExecution(NexusClientCallsInterceptor.TerminateNexusOperationExecutionInput input) Description copied from interface:NexusClientCallsInterceptorForcefully terminates a standalone Nexus operation. Unlike cancellation, termination is immediate and cannot be intercepted by the operation handler.- Specified by:
terminateNexusOperationExecutionin interfaceNexusClientCallsInterceptor- Parameters:
input- operation ID, optional run ID, and optional human-readable termination reason- Returns:
- an empty output that exists so the call can carry fields in the future
-
deleteNexusOperationExecution
public NexusClientCallsInterceptor.DeleteNexusOperationExecutionOutput deleteNexusOperationExecution(NexusClientCallsInterceptor.DeleteNexusOperationExecutionInput input) Description copied from interface:NexusClientCallsInterceptorDeletes a closed standalone Nexus operation execution from the server's visibility store. The operation must already be in a terminal state.- Specified by:
deleteNexusOperationExecutionin interfaceNexusClientCallsInterceptor- Parameters:
input- operation ID and optional run ID- Returns:
- an empty output that exists so the call can carry fields in the future
-