Interface WorkflowOutboundCallsInterceptor
- All Known Implementing Classes:
WorkflowOutboundCallsInterceptorBase
The calls to the interceptor are executed in the context of a workflow and must follow the same rules all the other workflow code follows.
Prefer extending WorkflowOutboundCallsInterceptorBase and overriding only the methods
you need instead of implementing this interface directly. WorkflowOutboundCallsInterceptorBase provides correct default implementations to all the methods
of this interface.
An instance may be created in WorkflowInboundCallsInterceptor.init(WorkflowOutboundCallsInterceptor) and set by passing it
into init method of the next WorkflowInboundCallsInterceptor The
implementation must forward all the calls to the outbound interceptor passed as a
outboundCalls parameter to the init call.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final class -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanvoidlongcom.uber.m3.tally.ScopeIntercepts call to get the metric scope in a workflow.intgetVersion(String changeId, int minSupported, int maxSupported) <R> RmutableSideEffect(String id, Class<R> resultClass, Type resultType, BiPredicate<R, R> updated, Functions.Func<R> func) <R> RmutableSideEffect(String id, Class<R> resultClass, Type resultType, BiPredicate<R, R> updated, Functions.Func<R> func, MutableSideEffectOptions options) newChildThread(Runnable runnable, boolean detached, String name) Intercepts creation of a workflow child thread.newTimer(Duration duration, TimerOptions options) voidregisterDynamicQueryHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicQueryHandlerInput input) voidregisterDynamicSignalHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicSignalHandlerInput handler) voidregisterDynamicUpdateHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicUpdateHandlerInput input) voidvoidvoid<R> RsideEffect(Class<R> resultClass, Type resultType, Functions.Func<R> func) <R> RsideEffect(Class<R> resultClass, Type resultType, Functions.Func<R> func, SideEffectOptions options) voidvoidupsertMemo(Map<String, Object> memo) voidupsertSearchAttributes(Map<String, ?> searchAttributes) voidupsertTypedSearchAttributes(SearchAttributeUpdate<?>... searchAttributeUpdates)
-
Method Details
-
executeActivity
<R> WorkflowOutboundCallsInterceptor.ActivityOutput<R> executeActivity(WorkflowOutboundCallsInterceptor.ActivityInput<R> input) -
executeLocalActivity
<R> WorkflowOutboundCallsInterceptor.LocalActivityOutput<R> executeLocalActivity(WorkflowOutboundCallsInterceptor.LocalActivityInput<R> input) -
executeChildWorkflow
<R> WorkflowOutboundCallsInterceptor.ChildWorkflowOutput<R> executeChildWorkflow(WorkflowOutboundCallsInterceptor.ChildWorkflowInput<R> input) -
executeNexusOperation
@Experimental <R> WorkflowOutboundCallsInterceptor.ExecuteNexusOperationOutput<R> executeNexusOperation(WorkflowOutboundCallsInterceptor.ExecuteNexusOperationInput<R> input) -
newRandom
Random newRandom() -
signalExternalWorkflow
WorkflowOutboundCallsInterceptor.SignalExternalOutput signalExternalWorkflow(WorkflowOutboundCallsInterceptor.SignalExternalInput input) -
cancelWorkflow
-
sleep
-
await
-
await
-
newTimer
-
newTimer
-
sideEffect
-
sideEffect
<R> R sideEffect(Class<R> resultClass, Type resultType, Functions.Func<R> func, SideEffectOptions options) -
mutableSideEffect
<R> R mutableSideEffect(String id, Class<R> resultClass, Type resultType, BiPredicate<R, R> updated, Functions.Func<R> func) -
mutableSideEffect
<R> R mutableSideEffect(String id, Class<R> resultClass, Type resultType, BiPredicate<R, R> updated, Functions.Func<R> func, MutableSideEffectOptions options) -
getVersion
-
continueAsNew
-
registerQuery
-
registerSignalHandlers
-
registerUpdateHandlers
-
registerDynamicSignalHandler
void registerDynamicSignalHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicSignalHandlerInput handler) -
registerDynamicQueryHandler
void registerDynamicQueryHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicQueryHandlerInput input) -
registerDynamicUpdateHandler
void registerDynamicUpdateHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicUpdateHandlerInput input) -
randomUUID
UUID randomUUID() -
upsertSearchAttributes
-
upsertTypedSearchAttributes
-
upsertMemo
-
getMetricsScope
com.uber.m3.tally.Scope getMetricsScope()Intercepts call to get the metric scope in a workflow. -
newChildThread
Intercepts creation of a workflow child thread.Please note, that "workflow child thread" and "child workflow" are different and independent concepts.
- Parameters:
runnable- thread function to rundetached- if this thread is detached from the parentCancellationScopename- name of the thread- Returns:
- created WorkflowThread
-
currentTimeMillis
long currentTimeMillis()
-