Package io.temporal.internal.sync
Class WorkflowInternal
- java.lang.Object
-
- io.temporal.internal.sync.WorkflowInternal
-
public final class WorkflowInternal extends java.lang.ObjectNever reference directly. It is public only because Java doesn't have internal package support.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_VERSION
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidapplyActivityOptions(java.util.Map<java.lang.String,ActivityOptions> activityTypeToOptions)static voidapplyLocalActivityOptions(java.util.Map<java.lang.String,LocalActivityOptions> activityTypeToOptions)static voidawait(java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition)static booleanawait(java.time.Duration timeout, java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition)static Promise<java.lang.Void>cancelWorkflow(io.temporal.api.common.v1.WorkflowExecution execution)static voidcontinueAsNew(java.lang.String workflowType, ContinueAsNewOptions options, java.lang.Object[] args)static voidcontinueAsNew(java.lang.String workflowType, ContinueAsNewOptions options, java.lang.Object[] args, WorkflowOutboundCallsInterceptor outboundCallsInterceptor)static io.temporal.internal.sync.CancellationScopeImplcurrentCancellationScope()static longcurrentTimeMillis()Should be used to get current time instead ofSystem.currentTimeMillis()static <T> TdeadlockDetectorOff(Functions.Func<T> func)static <R> RexecuteActivity(java.lang.String name, ActivityOptions options, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object... args)Execute activity by name.static DataConvertergetDataConverter()static <R> RgetLastCompletionResult(java.lang.Class<R> resultClass, java.lang.reflect.Type resultType)static org.slf4j.LoggergetLogger(java.lang.Class<?> clazz)static org.slf4j.LoggergetLogger(java.lang.String name)static <T> TgetMemo(java.lang.String key, java.lang.Class<T> valueClass, java.lang.reflect.Type genericType)static com.uber.m3.tally.ScopegetMetricsScope()static java.util.Optional<java.lang.Exception>getPreviousRunFailure()static <T> TgetSearchAttribute(java.lang.String name)static java.util.Map<java.lang.String,java.util.List<?>>getSearchAttributes()static <T> java.util.List<T>getSearchAttributeValues(java.lang.String name)static SearchAttributesgetTypedSearchAttributes()static intgetVersion(java.lang.String changeId, int minSupported, int maxSupported)static Promise<io.temporal.api.common.v1.WorkflowExecution>getWorkflowExecution(java.lang.Object workflowStub)static WorkflowInfogetWorkflowInfo()static java.lang.StringgetWorkflowType(java.lang.Class<?> workflowInterfaceClass)Name of the workflow type the interface defines.static booleanisReplaying()Returns false if not under workflow code.static booleanisWorkflowThread()static <R> RmutableSideEffect(java.lang.String id, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.util.function.BiPredicate<R,R> updated, Functions.Func<R> func)static <T> TnewActivityStub(java.lang.Class<T> activityInterface, ActivityOptions options, java.util.Map<java.lang.String,ActivityOptions> activityMethodOptions)Creates client stub to activities that implement given interface.static CancellationScopenewCancellationScope(boolean detached, Functions.Proc1<CancellationScope> proc)static CancellationScopenewCancellationScope(boolean detached, java.lang.Runnable runnable)static <T> TnewChildWorkflowStub(java.lang.Class<T> workflowInterface, ChildWorkflowOptions options)static <E> CompletablePromise<E>newCompletablePromise()static <T> TnewContinueAsNewStub(java.lang.Class<T> workflowInterface, ContinueAsNewOptions options)Creates client stub that can be used to continue this workflow as new.static <T> TnewExternalWorkflowStub(java.lang.Class<T> workflowInterface, io.temporal.api.common.v1.WorkflowExecution execution)static <E> Promise<E>newFailedPromise(java.lang.Exception failure)static <T> TnewLocalActivityStub(java.lang.Class<T> activityInterface, LocalActivityOptions options, java.util.Map<java.lang.String,LocalActivityOptions> activityMethodOptions)Creates client stub to local activities that implement given interface.static <E> Promise<E>newPromise(E value)static <E> WorkflowQueue<E>newQueue(int capacity)Deprecated.this method created a deprecated implementation of the queue that has some methods implemented incorrectly.static java.util.RandomnewRandom()static Promise<java.lang.Void>newTimer(java.time.Duration duration)static ActivityStubnewUntypedActivityStub(ActivityOptions options)static ChildWorkflowStubnewUntypedChildWorkflowStub(java.lang.String workflowType, ChildWorkflowOptions options)static ExternalWorkflowStubnewUntypedExternalWorkflowStub(io.temporal.api.common.v1.WorkflowExecution execution)static ActivityStubnewUntypedLocalActivityStub(LocalActivityOptions options)static WorkflowThreadnewWorkflowMethodThread(java.lang.Runnable runnable, java.lang.String name)static <E> WorkflowQueue<E>newWorkflowQueue(int capacity)Creates aWorkflowQueueimplementation that can be used from workflow code.static Promise<java.lang.Void>promiseAllOf(Promise<?>... promises)static <V> Promise<java.lang.Void>promiseAllOf(java.lang.Iterable<Promise<V>> promises)static Promise<java.lang.Object>promiseAnyOf(Promise<?>... promises)static <V> Promise<V>promiseAnyOf(java.lang.Iterable<Promise<V>> promises)static java.util.UUIDrandomUUID()static voidregisterListener(java.lang.Object implementation)Register query or queries implementation object.static <R> Rretry(RetryOptions options, java.util.Optional<java.time.Duration> expiration, Functions.Func<R> fn)static voidsetDefaultActivityOptions(ActivityOptions activityOptions)static voidsetDefaultLocalActivityOptions(LocalActivityOptions localActivityOptions)static <R> RsideEffect(java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, Functions.Func<R> func)static voidsleep(java.time.Duration duration)static java.lang.Throwableunwrap(java.lang.Throwable e)static voidupsertSearchAttributes(java.util.Map<java.lang.String,?> searchAttributes)static voidupsertTypedSearchAttributes(SearchAttributeUpdate<?>... searchAttributeUpdates)static java.lang.RuntimeExceptionwrap(java.lang.Throwable e)
-
-
-
Field Detail
-
DEFAULT_VERSION
public static final int DEFAULT_VERSION
- See Also:
- Constant Field Values
-
-
Method Detail
-
newWorkflowMethodThread
@Nonnull public static WorkflowThread newWorkflowMethodThread(java.lang.Runnable runnable, java.lang.String name)
-
newTimer
public static Promise<java.lang.Void> newTimer(java.time.Duration duration)
-
newQueue
@Deprecated public static <E> WorkflowQueue<E> newQueue(int capacity)
Deprecated.this method created a deprecated implementation of the queue that has some methods implemented incorrectly. Please usenewWorkflowQueue(int)instead.- Parameters:
capacity- the maximum size of the queue- Returns:
- new instance of
WorkflowQueue
-
newWorkflowQueue
public static <E> WorkflowQueue<E> newWorkflowQueue(int capacity)
Creates aWorkflowQueueimplementation that can be used from workflow code.- Parameters:
capacity- the maximum size of the queue- Returns:
- new instance of
WorkflowQueue
-
newCompletablePromise
public static <E> CompletablePromise<E> newCompletablePromise()
-
newPromise
public static <E> Promise<E> newPromise(E value)
-
newFailedPromise
public static <E> Promise<E> newFailedPromise(java.lang.Exception failure)
-
registerListener
public static void registerListener(java.lang.Object implementation)
Register query or queries implementation object. There is no need to register top level workflow implementation object as it is done implicitly. Only methods annotated with @QueryMethodare registered. TODO(quinn) LIES!
-
currentTimeMillis
public static long currentTimeMillis()
Should be used to get current time instead ofSystem.currentTimeMillis()
-
setDefaultActivityOptions
public static void setDefaultActivityOptions(ActivityOptions activityOptions)
-
applyActivityOptions
public static void applyActivityOptions(java.util.Map<java.lang.String,ActivityOptions> activityTypeToOptions)
-
setDefaultLocalActivityOptions
public static void setDefaultLocalActivityOptions(LocalActivityOptions localActivityOptions)
-
applyLocalActivityOptions
public static void applyLocalActivityOptions(java.util.Map<java.lang.String,LocalActivityOptions> activityTypeToOptions)
-
newActivityStub
public static <T> T newActivityStub(java.lang.Class<T> activityInterface, ActivityOptions options, java.util.Map<java.lang.String,ActivityOptions> activityMethodOptions)Creates client stub to activities that implement given interface.- Parameters:
activityInterface- interface type implemented by activitiesoptions- options that together with the properties ofActivityMethodspecify the activity invocation parametersactivityMethodOptions- activity method-specific invocation parameters
-
newLocalActivityStub
public static <T> T newLocalActivityStub(java.lang.Class<T> activityInterface, LocalActivityOptions options, @Nullable java.util.Map<java.lang.String,LocalActivityOptions> activityMethodOptions)Creates client stub to local activities that implement given interface.- Parameters:
activityInterface- interface type implemented by activitiesoptions- options that together with the properties ofActivityMethodspecify the activity invocation parametersactivityMethodOptions- activity method-specific invocation parameters
-
newUntypedActivityStub
public static ActivityStub newUntypedActivityStub(ActivityOptions options)
-
newUntypedLocalActivityStub
public static ActivityStub newUntypedLocalActivityStub(LocalActivityOptions options)
-
newChildWorkflowStub
public static <T> T newChildWorkflowStub(java.lang.Class<T> workflowInterface, ChildWorkflowOptions options)
-
newExternalWorkflowStub
public static <T> T newExternalWorkflowStub(java.lang.Class<T> workflowInterface, io.temporal.api.common.v1.WorkflowExecution execution)
-
getWorkflowExecution
public static Promise<io.temporal.api.common.v1.WorkflowExecution> getWorkflowExecution(java.lang.Object workflowStub)
-
newUntypedChildWorkflowStub
public static ChildWorkflowStub newUntypedChildWorkflowStub(java.lang.String workflowType, ChildWorkflowOptions options)
-
newUntypedExternalWorkflowStub
public static ExternalWorkflowStub newUntypedExternalWorkflowStub(io.temporal.api.common.v1.WorkflowExecution execution)
-
newContinueAsNewStub
public static <T> T newContinueAsNewStub(java.lang.Class<T> workflowInterface, ContinueAsNewOptions options)Creates client stub that can be used to continue this workflow as new.- Parameters:
workflowInterface- interface type implemented by the next generation of workflow
-
executeActivity
public static <R> R executeActivity(java.lang.String name, ActivityOptions options, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object... args)Execute activity by name.- Type Parameters:
R- activity return type- Parameters:
name- name of the activityresultClass- activity return typeargs- list of activity arguments- Returns:
- activity result
-
await
public static void await(java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition) throws DestroyWorkflowThreadError- Throws:
DestroyWorkflowThreadError
-
await
public static boolean await(java.time.Duration timeout, java.lang.String reason, java.util.function.Supplier<java.lang.Boolean> unblockCondition) throws DestroyWorkflowThreadError- Throws:
DestroyWorkflowThreadError
-
sideEffect
public static <R> R sideEffect(java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, Functions.Func<R> func)
-
mutableSideEffect
public static <R> R mutableSideEffect(java.lang.String id, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.util.function.BiPredicate<R,R> updated, Functions.Func<R> func)
-
getVersion
public static int getVersion(java.lang.String changeId, int minSupported, int maxSupported)
-
promiseAllOf
public static <V> Promise<java.lang.Void> promiseAllOf(java.lang.Iterable<Promise<V>> promises)
-
newCancellationScope
public static CancellationScope newCancellationScope(boolean detached, java.lang.Runnable runnable)
-
newCancellationScope
public static CancellationScope newCancellationScope(boolean detached, Functions.Proc1<CancellationScope> proc)
-
currentCancellationScope
public static io.temporal.internal.sync.CancellationScopeImpl currentCancellationScope()
-
wrap
public static java.lang.RuntimeException wrap(java.lang.Throwable e)
-
unwrap
public static java.lang.Throwable unwrap(java.lang.Throwable e)
-
isReplaying
public static boolean isReplaying()
Returns false if not under workflow code.
-
getMemo
public static <T> T getMemo(java.lang.String key, java.lang.Class<T> valueClass, java.lang.reflect.Type genericType)
-
retry
public static <R> R retry(RetryOptions options, java.util.Optional<java.time.Duration> expiration, Functions.Func<R> fn)
-
continueAsNew
public static void continueAsNew(@Nullable java.lang.String workflowType, @Nullable ContinueAsNewOptions options, java.lang.Object[] args)
-
continueAsNew
public static void continueAsNew(@Nullable java.lang.String workflowType, @Nullable ContinueAsNewOptions options, java.lang.Object[] args, WorkflowOutboundCallsInterceptor outboundCallsInterceptor)
-
cancelWorkflow
public static Promise<java.lang.Void> cancelWorkflow(io.temporal.api.common.v1.WorkflowExecution execution)
-
sleep
public static void sleep(java.time.Duration duration)
-
isWorkflowThread
public static boolean isWorkflowThread()
-
deadlockDetectorOff
public static <T> T deadlockDetectorOff(Functions.Func<T> func)
-
getWorkflowInfo
public static WorkflowInfo getWorkflowInfo()
-
getMetricsScope
public static com.uber.m3.tally.Scope getMetricsScope()
-
randomUUID
public static java.util.UUID randomUUID()
-
newRandom
public static java.util.Random newRandom()
-
getLogger
public static org.slf4j.Logger getLogger(java.lang.Class<?> clazz)
-
getLogger
public static org.slf4j.Logger getLogger(java.lang.String name)
-
getLastCompletionResult
public static <R> R getLastCompletionResult(java.lang.Class<R> resultClass, java.lang.reflect.Type resultType)
-
getSearchAttribute
@Nullable public static <T> T getSearchAttribute(java.lang.String name)
-
getSearchAttributeValues
@Nullable public static <T> java.util.List<T> getSearchAttributeValues(java.lang.String name)
-
getSearchAttributes
@Nonnull public static java.util.Map<java.lang.String,java.util.List<?>> getSearchAttributes()
-
getTypedSearchAttributes
@Nonnull public static SearchAttributes getTypedSearchAttributes()
-
upsertSearchAttributes
public static void upsertSearchAttributes(java.util.Map<java.lang.String,?> searchAttributes)
-
upsertTypedSearchAttributes
public static void upsertTypedSearchAttributes(SearchAttributeUpdate<?>... searchAttributeUpdates)
-
getDataConverter
public static DataConverter getDataConverter()
-
getWorkflowType
public static java.lang.String getWorkflowType(java.lang.Class<?> workflowInterfaceClass)
Name of the workflow type the interface defines. It is either the interface short name * or value ofWorkflowMethod.name()parameter.- Parameters:
workflowInterfaceClass- interface annotated with @WorkflowInterface
-
getPreviousRunFailure
public static java.util.Optional<java.lang.Exception> getPreviousRunFailure()
-
-