Class Client


  • public class Client
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Client​(Registry registry, ClientOptions clientOptions)
      return a full featured client.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.lang.Object> getAllDataObjects​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, java.lang.String workflowRunId)  
      java.util.Map<java.lang.String,​java.lang.Object> getAllSearchAttributes​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, java.lang.String workflowRunId)  
      java.util.List<StateCompletionOutput> getComplexWorkflowResultWithWait​(java.lang.String workflowId)  
      java.util.List<StateCompletionOutput> getComplexWorkflowResultWithWait​(java.lang.String workflowId, java.lang.String workflowRunId)
      In some cases, a workflow may have more than one completion states
      <T> T getSimpleWorkflowResultWithWait​(java.lang.Class<T> valueClass, java.lang.String workflowId)  
      <T> T getSimpleWorkflowResultWithWait​(java.lang.Class<T> valueClass, java.lang.String workflowId, java.lang.String workflowRunId)
      For most cases, a workflow only has one result(one completion state) Use this API to retrieve the output of the state
      UnregisteredClient getUnregisteredClient()  
      java.util.Map<java.lang.String,​java.lang.Object> getWorkflowDataObjects​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<java.lang.String> keys)  
      java.util.Map<java.lang.String,​java.lang.Object> getWorkflowSearchAttributes​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<java.lang.String> attributeKeys)  
      java.lang.String resetWorkflow​(java.lang.String workflowId, java.lang.String workflowRunId, ResetWorkflowTypeAndOptions resetWorkflowTypeAndOptions)  
      WorkflowSearchResponse searchWorkflow​(WorkflowSearchRequest request)
      This search API support pagination
      WorkflowSearchResponse searchWorkflow​(java.lang.String query, int pageSize)
      This is a simplified API to search without pagination, use the other searchWorkflow API for pagination feature
      void signalWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String signalChannelName, java.lang.Object signalValue)  
      void skipTimer​(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.Class<? extends WorkflowState> stateClass, int stateExecutionNumber, int timerCommandIndex)  
      void skipTimer​(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.Class<? extends WorkflowState> stateClass, int stateExecutionNumber, java.lang.String timerCommandId)  
      void skipTimer​(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String workflowStateId, int stateExecutionNumber, int timerCommandIndex)  
      void skipTimer​(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String workflowStateId, int stateExecutionNumber, java.lang.String timerCommandId)  
      java.lang.String startWorkflow​(ObjectWorkflow workflow, java.lang.String workflowId, int workflowTimeoutSeconds)
      startWorkflow starts a workflow execution
      java.lang.String startWorkflow​(ObjectWorkflow workflow, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input)
      startWorkflow starts a workflow execution
      java.lang.String startWorkflow​(ObjectWorkflow workflow, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input, WorkflowOptions options)
      startWorkflow starts a workflow execution
      java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, int workflowTimeoutSeconds)
      startWorkflow starts a workflow execution
      java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input)
      startWorkflow starts a workflow execution
      java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input, WorkflowOptions option)
      startWorkflow starts a workflow execution
      void stopWorkflow​(java.lang.String workflowId, java.lang.String workflowRunId)
      Stop a workflow, this is essentially terminate the workflow gracefully
      void stopWorkflow​(java.lang.String workflowId, java.lang.String workflowRunId, StopWorkflowOptions options)
      Stop a workflow with options
      • Methods inherited from class java.lang.Object

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

      • Client

        public Client​(Registry registry,
                      ClientOptions clientOptions)
        return a full featured client. If you don't have the workflow Registry, you should use UnregisteredClient instead
        Parameters:
        registry - registry is required so that this client can perform some validation checks (workflow types, channel names)
        clientOptions - is for configuring the client
    • Method Detail

      • startWorkflow

        public java.lang.String startWorkflow​(ObjectWorkflow workflow,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds)
        startWorkflow starts a workflow execution
        Parameters:
        workflow - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        Returns:
        runId
      • startWorkflow

        public java.lang.String startWorkflow​(ObjectWorkflow workflow,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds,
                                              java.lang.Object input)
        startWorkflow starts a workflow execution
        Parameters:
        workflow - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        input - is optional, can be null
        Returns:
        runId
      • startWorkflow

        public java.lang.String startWorkflow​(ObjectWorkflow workflow,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds,
                                              java.lang.Object input,
                                              WorkflowOptions options)
        startWorkflow starts a workflow execution
        Parameters:
        workflow - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        input - is optional, can be null
        options - is optional, can be null
        Returns:
        runId
      • startWorkflow

        public java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds)
        startWorkflow starts a workflow execution
        Parameters:
        workflowClass - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        Returns:
        runId
      • startWorkflow

        public java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds,
                                              java.lang.Object input)
        startWorkflow starts a workflow execution
        Parameters:
        workflowClass - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        input - is optional, can be null
        Returns:
        runId
      • startWorkflow

        public java.lang.String startWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                              java.lang.String workflowId,
                                              int workflowTimeoutSeconds,
                                              java.lang.Object input,
                                              WorkflowOptions option)
        startWorkflow starts a workflow execution
        Parameters:
        workflowClass - is required
        workflowId - is required
        workflowTimeoutSeconds - is required
        input - is optional, can be null
        option - is optional, can be null
        Returns:
        runId
      • getSimpleWorkflowResultWithWait

        public <T> T getSimpleWorkflowResultWithWait​(java.lang.Class<T> valueClass,
                                                     java.lang.String workflowId,
                                                     java.lang.String workflowRunId)
        For most cases, a workflow only has one result(one completion state) Use this API to retrieve the output of the state
        Type Parameters:
        T - type of the output
        Parameters:
        valueClass - the type class of the output
        workflowId - the workflowId
        workflowRunId - optional runId, can be empty
        Returns:
        the output result
      • getSimpleWorkflowResultWithWait

        public <T> T getSimpleWorkflowResultWithWait​(java.lang.Class<T> valueClass,
                                                     java.lang.String workflowId)
      • getComplexWorkflowResultWithWait

        public java.util.List<StateCompletionOutput> getComplexWorkflowResultWithWait​(java.lang.String workflowId,
                                                                                      java.lang.String workflowRunId)
        In some cases, a workflow may have more than one completion states
        Parameters:
        workflowId - workflowId
        workflowRunId - workflowRunId
        Returns:
        a list of the state output for completion states. User code will figure how to use ObjectEncoder to decode the output
      • getComplexWorkflowResultWithWait

        public java.util.List<StateCompletionOutput> getComplexWorkflowResultWithWait​(java.lang.String workflowId)
      • signalWorkflow

        public void signalWorkflow​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                   java.lang.String workflowId,
                                   java.lang.String workflowRunId,
                                   java.lang.String signalChannelName,
                                   java.lang.Object signalValue)
      • resetWorkflow

        public java.lang.String resetWorkflow​(java.lang.String workflowId,
                                              java.lang.String workflowRunId,
                                              ResetWorkflowTypeAndOptions resetWorkflowTypeAndOptions)
        Parameters:
        workflowId - workflowId
        workflowRunId - workflowRunId
        resetWorkflowTypeAndOptions - the combination parameter for reset
        Returns:
        the new runId after reset
      • stopWorkflow

        public void stopWorkflow​(java.lang.String workflowId,
                                 java.lang.String workflowRunId)
        Stop a workflow, this is essentially terminate the workflow gracefully
        Parameters:
        workflowId - required
        workflowRunId - optional, can be empty
      • stopWorkflow

        public void stopWorkflow​(java.lang.String workflowId,
                                 java.lang.String workflowRunId,
                                 StopWorkflowOptions options)
        Stop a workflow with options
        Parameters:
        workflowId - required
        workflowRunId - optional
        options - optional
      • getWorkflowDataObjects

        public java.util.Map<java.lang.String,​java.lang.Object> getWorkflowDataObjects​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                                                                             java.lang.String workflowId,
                                                                                             java.lang.String workflowRunId,
                                                                                             java.util.List<java.lang.String> keys)
      • getAllDataObjects

        public java.util.Map<java.lang.String,​java.lang.Object> getAllDataObjects​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                                                                        java.lang.String workflowId,
                                                                                        java.lang.String workflowRunId)
      • searchWorkflow

        public WorkflowSearchResponse searchWorkflow​(java.lang.String query,
                                                     int pageSize)
        This is a simplified API to search without pagination, use the other searchWorkflow API for pagination feature
        Parameters:
        query - the query of the search, see Cadence/Temporal search attributes doc
        pageSize - the page size
        Returns:
        the results of the search, this will only return one page of the results
      • getWorkflowSearchAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getWorkflowSearchAttributes​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                                                                                  java.lang.String workflowId,
                                                                                                  java.lang.String workflowRunId,
                                                                                                  java.util.List<java.lang.String> attributeKeys)
      • getAllSearchAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getAllSearchAttributes​(java.lang.Class<? extends ObjectWorkflow> workflowClass,
                                                                                             java.lang.String workflowId,
                                                                                             java.lang.String workflowRunId)
      • skipTimer

        public void skipTimer​(java.lang.String workflowId,
                              java.lang.String workflowRunId,
                              java.lang.Class<? extends WorkflowState> stateClass,
                              int stateExecutionNumber,
                              java.lang.String timerCommandId)
      • skipTimer

        public void skipTimer​(java.lang.String workflowId,
                              java.lang.String workflowRunId,
                              java.lang.String workflowStateId,
                              int stateExecutionNumber,
                              java.lang.String timerCommandId)
      • skipTimer

        public void skipTimer​(java.lang.String workflowId,
                              java.lang.String workflowRunId,
                              java.lang.Class<? extends WorkflowState> stateClass,
                              int stateExecutionNumber,
                              int timerCommandIndex)
      • skipTimer

        public void skipTimer​(java.lang.String workflowId,
                              java.lang.String workflowRunId,
                              java.lang.String workflowStateId,
                              int stateExecutionNumber,
                              int timerCommandIndex)