Class Async


  • public final class Async
    extends java.lang.Object
    Supports invoking lambdas and activity and child workflow references asynchronously.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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 Promise<java.lang.Void> procedure​(Functions.Proc procedure)
      Invokes zero argument procedure asynchronously.
      static <A1> Promise<java.lang.Void> procedure​(Functions.Proc1<A1> procedure, A1 arg1)
      Invokes one argument procedure asynchronously.
      static <A1,​A2>
      Promise<java.lang.Void>
      procedure​(Functions.Proc2<A1,​A2> procedure, A1 arg1, A2 arg2)
      Invokes two argument procedure asynchronously.
      static <A1,​A2,​A3>
      Promise<java.lang.Void>
      procedure​(Functions.Proc3<A1,​A2,​A3> procedure, A1 arg1, A2 arg2, A3 arg3)
      Invokes three argument procedure asynchronously.
      static <A1,​A2,​A3,​A4>
      Promise<java.lang.Void>
      procedure​(Functions.Proc4<A1,​A2,​A3,​A4> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4)
      Invokes four argument procedure asynchronously.
      static <A1,​A2,​A3,​A4,​A5>
      Promise<java.lang.Void>
      procedure​(Functions.Proc5<A1,​A2,​A3,​A4,​A5> procedure, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5)
      Invokes five argument procedure asynchronously.
      static <A1,​A2,​A3,​A4,​A5,​A6>
      Promise<java.lang.Void>
      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, java.util.Optional<java.time.Duration> expiration, Functions.Func<Promise<R>> fn)
      Invokes function retrying in case of failures according to retry options.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • function

        public static <R> Promise<R> function​(Functions.Func<R> function)
        Invokes zero argument function asynchronously.
        Parameters:
        function - Function to execute asynchronously
        Returns:
        promise that contains function result or failure
      • function

        public static <A1,​R> Promise<R> function​(Functions.Func1<A1,​R> function,
                                                       A1 arg1)
        Invokes one argument function asynchronously.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        Returns:
        promise that contains function result or failure
      • function

        public static <A1,​A2,​R> Promise<R> function​(Functions.Func2<A1,​A2,​R> function,
                                                                A1 arg1,
                                                                A2 arg2)
        Invokes two argument function asynchronously.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        arg2 - second function argument
        Returns:
        Promise that contains function result or failure
      • function

        public 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.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        arg2 - second function argument
        arg3 - third function argument
        Returns:
        Promise that contains function result or failure
      • function

        public 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.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        arg2 - second function argument
        arg3 - third function argument
        arg4 - forth function argument
        Returns:
        Promise that contains function result or failure
      • function

        public 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.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        arg2 - second function argument
        arg3 - third function argument
        arg4 - forth function argument
        arg5 - fifth function argument
        Returns:
        Promise that contains function result or failure
      • function

        public 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.
        Parameters:
        function - Function to execute asynchronously
        arg1 - first function argument
        arg2 - second function argument
        arg3 - third function argument
        arg4 - forth function argument
        arg5 - fifth function argument
        arg6 - sixth function argument
        Returns:
        Promise that contains function result or failure
      • procedure

        public static Promise<java.lang.Void> procedure​(Functions.Proc procedure)
        Invokes zero argument procedure asynchronously.
        Parameters:
        procedure - Procedure to execute asynchronously
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1> Promise<java.lang.Void> procedure​(Functions.Proc1<A1> procedure,
                                                             A1 arg1)
        Invokes one argument procedure asynchronously.
        Parameters:
        procedure - Procedure to execute asynchronously
        arg1 - first procedure argument
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1,​A2> Promise<java.lang.Void> procedure​(Functions.Proc2<A1,​A2> procedure,
                                                                      A1 arg1,
                                                                      A2 arg2)
        Invokes two argument procedure asynchronously.
        Parameters:
        procedure - Procedure to execute asynchronously
        arg1 - first procedure argument
        arg2 - second procedure argument
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1,​A2,​A3> Promise<java.lang.Void> procedure​(Functions.Proc3<A1,​A2,​A3> procedure,
                                                                               A1 arg1,
                                                                               A2 arg2,
                                                                               A3 arg3)
        Invokes three argument procedure asynchronously.
        Parameters:
        procedure - Procedure to execute asynchronously
        arg1 - first procedure argument
        arg2 - second procedure argument
        arg3 - third procedure argument
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1,​A2,​A3,​A4> Promise<java.lang.Void> procedure​(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 asynchronously
        arg1 - first procedure argument
        arg2 - second procedure argument
        arg3 - third procedure argument
        arg4 - forth procedure argument
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1,​A2,​A3,​A4,​A5> Promise<java.lang.Void> procedure​(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 asynchronously
        arg1 - first procedure argument
        arg2 - second procedure argument
        arg3 - third procedure argument
        arg4 - forth procedure argument
        arg5 - fifth procedure argument
        Returns:
        Promise that contains procedure result or failure
      • procedure

        public static <A1,​A2,​A3,​A4,​A5,​A6> Promise<java.lang.Void> 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.
        Parameters:
        procedure - Procedure to execute asynchronously
        arg1 - first procedure argument
        arg2 - second procedure argument
        arg3 - third procedure argument
        arg4 - forth procedure argument
        arg5 - fifth procedure argument
        arg6 - sixth procedure argument
        Returns:
        Promise that contains procedure result or failure
      • retry

        public static <R> Promise<R> retry​(RetryOptions options,
                                           java.util.Optional<java.time.Duration> expiration,
                                           Functions.Func<Promise<R>> fn)
        Invokes function retrying in case of failures according to retry options. Asynchronous variant. Use Workflow.retry(RetryOptions, Optional, Functions.Func) for synchronous functions.
        Parameters:
        options - retry options that specify retry policy
        expiration - if provided limits duration of retries
        fn - function to invoke and retry
        Returns:
        result of the function or the last failure.