Package io.iworkflow.core
Class UnregisteredClient
- java.lang.Object
-
- io.iworkflow.core.UnregisteredClient
-
public class UnregisteredClient extends java.lang.Object
UntypedClient 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 WorkflowGetDataObjectsResponse
getAnyWorkflowDataObjects(java.lang.String workflowId, java.lang.String workflowRunId, java.util.List<java.lang.String> attributeKeys)
WorkflowGetSearchAttributesResponse
getAnyWorkflowSearchAttributes(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> 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<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)
java.lang.String
resetWorkflow(java.lang.String workflowId, java.lang.String workflowRunId, ResetWorkflowTypeAndOptions resetWorkflowTypeAndOptions)
WorkflowSearchResponse
searchWorkflow(WorkflowSearchRequest request)
WorkflowSearchResponse
searchWorkflow(java.lang.String query, int pageSize)
void
signalWorkflow(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.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(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds)
java.lang.String
startWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input)
java.lang.String
startWorkflow(java.lang.String workflowType, java.lang.String startStateId, java.lang.String workflowId, int workflowTimeoutSeconds, java.lang.Object input, UnregisteredWorkflowOptions options)
void
stopWorkflow(java.lang.String workflowId, java.lang.String workflowRunId)
Stop a workflow, this is essentially cancel the workflow gracefullyvoid
stopWorkflow(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)
-
-