Package io.temporal.internal.worker
Class SyncActivityWorker
- java.lang.Object
-
- io.temporal.internal.worker.SyncActivityWorker
-
- All Implemented Interfaces:
Shutdownable,Startable,Suspendable,SuspendableWorker,WorkerWithLifecycle
public class SyncActivityWorker extends java.lang.Object implements SuspendableWorker
Activity worker that supports POJO activity implementations.
-
-
Constructor Summary
Constructors Constructor Description SyncActivityWorker(io.temporal.serviceclient.WorkflowServiceStubs service, java.lang.String namespace, java.lang.String taskQueue, double taskQueueActivitiesPerSecond, SingleWorkerOptions options, SlotSupplier<ActivitySlotInfo> slotSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawaitTermination(long timeout, java.util.concurrent.TimeUnit unit)EagerActivityDispatchergetEagerActivityDispatcher()WorkerLifecycleStategetLifecycleState()booleanisShutdown()booleanisSuspended()booleanisTerminated()voidregisterActivityImplementations(java.lang.Object... activitiesImplementation)voidresumePolling()Allow new poll requests.java.util.concurrent.CompletableFuture<java.lang.Void>shutdown(ShutdownManager shutdownManager, boolean interruptTasks)booleanstart()This method is not required to be idempotent.voidsuspendPolling()Do not make new poll requests.java.lang.StringtoString()
-
-
-
Constructor Detail
-
SyncActivityWorker
public SyncActivityWorker(io.temporal.serviceclient.WorkflowServiceStubs service, java.lang.String namespace, java.lang.String taskQueue, double taskQueueActivitiesPerSecond, SingleWorkerOptions options, SlotSupplier<ActivitySlotInfo> slotSupplier)
-
-
Method Detail
-
registerActivityImplementations
public void registerActivityImplementations(java.lang.Object... activitiesImplementation)
-
start
public boolean start()
Description copied from interface:StartableThis method is not required to be idempotent. It is expected to be called only once.
-
shutdown
public java.util.concurrent.CompletableFuture<java.lang.Void> shutdown(ShutdownManager shutdownManager, boolean interruptTasks)
- Specified by:
shutdownin interfaceShutdownable- Parameters:
shutdownManager- provides toolset to get a Future for a shutdown of instances that have both non-blocking and not returning a Future on a completion shutdown methods (likeExecutorService.shutdown())interruptTasks- if the threads processing user code (like workflows, workflow tasks or activities) should be interrupted, or we want to wait for their full graceful completion- Returns:
- CompletableFuture which should be completed when awaiting downstream dependencies can
proceed with their own shutdown. Should never be completed exceptionally
CompletableFuture.exceptionally(Function)as downstream dependencies have no use of this information (they need to perform a shutdown anyway), and it complicates the shutdown flow.
-
awaitTermination
public void awaitTermination(long timeout, java.util.concurrent.TimeUnit unit)- Specified by:
awaitTerminationin interfaceShutdownable
-
suspendPolling
public void suspendPolling()
Description copied from interface:SuspendableDo not make new poll requests. Outstanding long polls still can return tasks after this method was called.- Specified by:
suspendPollingin interfaceSuspendable
-
resumePolling
public void resumePolling()
Description copied from interface:SuspendableAllow new poll requests.- Specified by:
resumePollingin interfaceSuspendable
-
isSuspended
public boolean isSuspended()
- Specified by:
isSuspendedin interfaceSuspendable
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdownin interfaceShutdownable
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminatedin interfaceShutdownable
-
getLifecycleState
public WorkerLifecycleState getLifecycleState()
- Specified by:
getLifecycleStatein interfaceWorkerWithLifecycle
-
getEagerActivityDispatcher
public EagerActivityDispatcher getEagerActivityDispatcher()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-