Package io.iworkflow.core
Class UnregisteredClient
- java.lang.Object
-
- io.iworkflow.core.UnregisteredClient
-
public class UnregisteredClient extends java.lang.ObjectUntypedClient will let you invoke the APIs to iWF server without much type validation checks(workflow type, signalChannelName, etc). It's useful for calling Client APIs without workflow registry(which may require to have all the workflow dependencies)
-
-
Constructor Summary
Constructors Constructor Description UnregisteredClient(ClientOptions clientOptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WorkflowGetDataObjectsResponsegetAnyWorkflowDataObjects(java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<java.lang.String> attributeKeys)WorkflowGetSearchAttributesResponsegetAnyWorkflowSearchAttributes(java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<SearchAttributeKeyAndType> attributeKeys)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> TgetSimpleWorkflowResultWithWait(java.lang.Class<T> valueClass, java.lang.String workflowId)<T> TgetSimpleWorkflowResultWithWait(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<T> TinvokeRpc(java.lang.Class<T> valueClass, java.lang.Object input, java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String rpcName, int timeoutSeconds, PersistenceLoadingPolicy dataAttributesLoadingPolicy, PersistenceLoadingPolicy searchAttributesLoadingPolicy)java.lang.StringresetWorkflow(java.lang.String workflowId, java.lang.String workflowRunId, ResetWorkflowTypeAndOptions resetWorkflowTypeAndOptions)WorkflowSearchResponsesearchWorkflow(WorkflowSearchRequest request)WorkflowSearchResponsesearchWorkflow(java.lang.String query, int pageSize)voidsignalWorkflow(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String signalChannelName, java.lang.Object signalValue)voidskipTimer(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String workflowStateId, int stateExecutionNumber, int timerCommandIndex)voidskipTimer(java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String workflowStateId, int stateExecutionNumber, java.lang.String timerCommandId)java.lang.StringstartWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds)java.lang.StringstartWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input)java.lang.StringstartWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input, UnregisteredWorkflowOptions options)voidstopWorkflow(java.lang.String workflowId, java.lang.String workflowRunId)Stop a workflow, this is essentially cancel the workflow gracefullyvoidstopWorkflow(java.lang.String workflowId, java.lang.String workflowRunId, StopWorkflowOptions options)Stop a workflow with options
-
-
-
Constructor Detail
-
UnregisteredClient
public UnregisteredClient(ClientOptions clientOptions)
-
-
Method Detail
-
startWorkflow
public java.lang.String startWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds)- Parameters:
workflowType- requiredstartStateId- requiredworkflowId- requiredworkflowTimeoutSeconds- required- Returns:
- runId
-
startWorkflow
public java.lang.String startWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input)- Parameters:
workflowType- requiredstartStateId- requiredworkflowId- requiredworkflowTimeoutSeconds- requiredinput- optional, can be null- Returns:
- runId
-
startWorkflow
public java.lang.String startWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input, UnregisteredWorkflowOptions options)- Parameters:
workflowType- requiredstartStateId- requiredworkflowId- requiredworkflowTimeoutSeconds- requiredinput- optional, can be nulloptions- 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 outputworkflowId- the workflowIdworkflowRunId- optional runId, can be empty string- Returns:
- the 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- workflowIdworkflowRunId- optional runId, can be empty string- Returns:
- a list of the state output for completion states. User code will figure how to use ObjectEncoder to decode the output
-
signalWorkflow
public void signalWorkflow(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- workflowIdworkflowRunId- workflowRunIdresetWorkflowTypeAndOptions- the combination parameter for reset- Returns:
- the new runId after reset
-
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.String workflowStateId, int stateExecutionNumber, int timerCommandIndex)
-
stopWorkflow
public void stopWorkflow(java.lang.String workflowId, java.lang.String workflowRunId)Stop a workflow, this is essentially cancel the workflow gracefully- Parameters:
workflowId- requiredworkflowRunId- optional
-
stopWorkflow
public void stopWorkflow(java.lang.String workflowId, java.lang.String workflowRunId, StopWorkflowOptions options)Stop a workflow with options- Parameters:
workflowId- requiredworkflowRunId- optionaloptions- optional
-
getAnyWorkflowDataObjects
public WorkflowGetDataObjectsResponse getAnyWorkflowDataObjects(java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<java.lang.String> attributeKeys)
- Parameters:
workflowId- workflowIdworkflowRunId- workflowRunIdattributeKeys- , return all attributes if this is empty or null- Returns:
- the response
-
searchWorkflow
public WorkflowSearchResponse searchWorkflow(java.lang.String query, int pageSize)
-
searchWorkflow
public WorkflowSearchResponse searchWorkflow(WorkflowSearchRequest request)
-
getAnyWorkflowSearchAttributes
public WorkflowGetSearchAttributesResponse getAnyWorkflowSearchAttributes(java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<SearchAttributeKeyAndType> attributeKeys)
-
invokeRpc
public <T> T invokeRpc(java.lang.Class<T> valueClass, java.lang.Object input, java.lang.String workflowId, java.lang.String workflowRunId, java.lang.String rpcName, int timeoutSeconds, PersistenceLoadingPolicy dataAttributesLoadingPolicy, PersistenceLoadingPolicy searchAttributesLoadingPolicy)
-
-