Class AsyncInternal
java.lang.Object
io.temporal.internal.sync.AsyncInternal
Contains support for asynchronous invocations. The basic idea is that any code is invoked in a
separate WorkflowThread. Internally it maps to a task executed by a thread pool, so there is not
much overhead doing it if operation doesn't block for a long time tying a physical thread. Async
allows to have asynchronous implementation of synchronous interfaces. If synchronous interface is
invoked using
execute(boolean, Functions.Func) then isAsync() going to return
true and implementation can take non blocking path and return Promise as a result using
setAsyncResult(Promise). Then it can return any value from the sync method as it is
going to be ignored.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic voidCloses async invocation created throughinitAsyncInvocation()static <R> Promise<R> function(Functions.Func<R> function) Invokes zero argument function asynchronously.static <A1,R> Promise <R> function(Functions.Func1<A1, R> function, A1 arg1) Invokes one argument function asynchronously.static <A1,A2, R>
Promise<R> function(Functions.Func2<A1, A2, R> function, A1 arg1, A2 arg2) Invokes two argument function asynchronously.static <A1,A2, A3, R>
Promise<R> function(Functions.Func3<A1, A2, A3, R> function, A1 arg1, A2 arg2, A3 arg3) Invokes three argument function asynchronously.static <A1,A2, A3, A4, R>
Promise<R> function(Functions.Func4<A1, A2, A3, A4, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4) Invokes four argument function asynchronously.static <A1,A2, A3, A4, A5, R>
Promise<R> function(Functions.Func5<A1, A2, A3, A4, A5, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5) Invokes five argument function asynchronously.static <A1,A2, A3, A4, A5, A6, R>
Promise<R> function(Functions.Func6<A1, A2, A3, A4, A5, A6, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) Invokes six argument function asynchronously.static booleanisAsync()static booleanprocedure(Functions.Proc procedure) Invokes zero argument procedure asynchronously.procedure(Functions.Proc1<A1> procedure, A1 arg1) Invokes one argument procedure asynchronously.procedure(Functions.Proc2<A1, A2> procedure, A1 arg1, A2 arg2) Invokes two argument procedure asynchronously.procedure(Functions.Proc3<A1, A2, A3> procedure, A1 arg1, A2 arg2, A3 arg3) Invokes three argument procedure asynchronously.procedure(Functions.Proc4<A1, A2, A3, A4> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4) Invokes four argument procedure asynchronously.procedure(Functions.Proc5<A1, A2, A3, A4, A5> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5) Invokes five argument procedure asynchronously.procedure(Functions.Proc6<A1, A2, A3, A4, A5, A6> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) Invokes six argument procedure asynchronously.static <R> Promise<R> retry(RetryOptions options, Optional<Duration> expiration, Functions.Func<Promise<R>> fn) static <R> voidsetAsyncResult(Promise<R> result)
-
Method Details
-
function
Invokes zero argument function asynchronously.- Parameters:
function- Function to execute asynchronously- Returns:
- promise that contains function result or failure
-
function
Invokes one argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argument- Returns:
- promise that contains function result or failure
-
function
Invokes two argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argumentarg2- second function argument- Returns:
- promise that contains function result or failure
-
function
public static <A1,A2, Promise<R> functionA3, R> (Functions.Func3<A1, A2, A3, R> function, A1 arg1, A2 arg2, A3 arg3) Invokes three argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argumentarg2- second function argumentarg3- third function argument- Returns:
- promise that contains function result or failure
-
function
public static <A1,A2, Promise<R> functionA3, A4, R> (Functions.Func4<A1, A2, A3, A4, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4) Invokes four argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argumentarg2- second function argumentarg3- third function argumentarg4- forth function argument- Returns:
- promise that contains function result or failure
-
function
public static <A1,A2, Promise<R> functionA3, A4, A5, R> (Functions.Func5<A1, A2, A3, A4, A5, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5) Invokes five argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argumentarg2- second function argumentarg3- third function argumentarg4- forth function argumentarg5- fifth function argument- Returns:
- promise that contains function result or failure
-
function
public static <A1,A2, Promise<R> functionA3, A4, A5, A6, R> (Functions.Func6<A1, A2, A3, A4, A5, A6, R> function, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) Invokes six argument function asynchronously.- Parameters:
function- Function to execute asynchronouslyarg1- first function argumentarg2- second function argumentarg3- third function argumentarg4- forth function argumentarg5- fifth function argumentarg6- sixth function argument- Returns:
- promise that contains function result or failure
-
procedure
Invokes zero argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronously- Returns:
- promise that contains procedure result or failure
-
procedure
Invokes one argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argument- Returns:
- promise that contains procedure result or failure
-
procedure
Invokes two argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argumentarg2- second procedure argument- Returns:
- promise that contains procedure result or failure
-
procedure
public static <A1,A2, Promise<Void> procedureA3> (Functions.Proc3<A1, A2, A3> procedure, A1 arg1, A2 arg2, A3 arg3) Invokes three argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argumentarg2- second procedure argumentarg3- third procedure argument- Returns:
- promise that contains procedure result or failure
-
procedure
public static <A1,A2, Promise<Void> procedureA3, A4> (Functions.Proc4<A1, A2, A3, A4> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4) Invokes four argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argumentarg2- second procedure argumentarg3- third procedure argumentarg4- forth procedure argument- Returns:
- promise that contains procedure result or failure
-
procedure
public static <A1,A2, Promise<Void> procedureA3, A4, A5> (Functions.Proc5<A1, A2, A3, A4, A5> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5) Invokes five argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argumentarg2- second procedure argumentarg3- third procedure argumentarg4- forth procedure argumentarg5- fifth procedure argument- Returns:
- promise that contains procedure result or failure
-
procedure
public static <A1,A2, Promise<Void> procedureA3, A4, A5, A6> (Functions.Proc6<A1, A2, A3, A4, A5, A6> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) Invokes six argument procedure asynchronously.- Parameters:
procedure- Procedure to execute asynchronouslyarg1- first procedure argumentarg2- second procedure argumentarg3- third procedure argumentarg4- forth procedure argumentarg5- fifth procedure argumentarg6- sixth procedure argument- Returns:
- promise that contains procedure result or failure
-
retry
public static <R> Promise<R> retry(RetryOptions options, Optional<Duration> expiration, Functions.Func<Promise<R>> fn) -
isAsync
-
isAsync
public static boolean isAsync() -
setAsyncResult
-
closeAsyncInvocation
public static void closeAsyncInvocation()Closes async invocation created throughinitAsyncInvocation()
-