public interface WorkflowOutboundCallsInterceptor
WorkerInterceptor.interceptWorkflow(WorkflowInboundCallsInterceptor)
. An
interceptor instance must forward all the calls to the next interceptor passed to the
interceptExecuteWorkflow call.
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.
<R> WorkflowOutboundCallsInterceptor.ActivityOutput<R> executeActivity(WorkflowOutboundCallsInterceptor.ActivityInput<R> input)
<R> WorkflowOutboundCallsInterceptor.LocalActivityOutput<R> executeLocalActivity(WorkflowOutboundCallsInterceptor.LocalActivityInput<R> input)
<R> WorkflowOutboundCallsInterceptor.ChildWorkflowOutput<R> executeChildWorkflow(WorkflowOutboundCallsInterceptor.ChildWorkflowInput<R> input)
java.util.Random newRandom()
WorkflowOutboundCallsInterceptor.SignalExternalOutput signalExternalWorkflow(WorkflowOutboundCallsInterceptor.SignalExternalInput input)
WorkflowOutboundCallsInterceptor.CancelWorkflowOutput cancelWorkflow(WorkflowOutboundCallsInterceptor.CancelWorkflowInput input)
void sleep(java.time.Duration duration)
boolean await(java.time.Duration timeout, java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition)
void await(java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition)
Promise<java.lang.Void> newTimer(java.time.Duration duration)
<R> R sideEffect(java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, Functions.Func<R> func)
<R> R mutableSideEffect(java.lang.String id, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.util.function.BiPredicate<R,R> updated, Functions.Func<R> func)
int getVersion(java.lang.String changeId, int minSupported, int maxSupported)
void continueAsNew(WorkflowOutboundCallsInterceptor.ContinueAsNewInput input)
void registerQuery(WorkflowOutboundCallsInterceptor.RegisterQueryInput input)
void registerSignalHandlers(WorkflowOutboundCallsInterceptor.RegisterSignalHandlersInput input)
void registerDynamicSignalHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicSignalHandlerInput handler)
void registerDynamicQueryHandler(WorkflowOutboundCallsInterceptor.RegisterDynamicQueryHandlerInput input)
java.util.UUID randomUUID()
void upsertSearchAttributes(java.util.Map<java.lang.String,java.lang.Object> searchAttributes)
java.lang.Object newChildThread(java.lang.Runnable runnable, boolean detached, java.lang.String name)
Please note, that "workflow child thread" and "child workflow" are different and independent concepts.
runnable
- thread function to rundetached
- if this thread is detached from the parent CancellationScope
name
- name of the threadlong currentTimeMillis()