Class WorkerFactory


  • public final class WorkerFactory
    extends java.lang.Object
    Maintains worker creation and lifecycle.
    • Method Detail

      • newWorker

        public Worker newWorker​(java.lang.String taskQueue)
        Creates worker that connects to an instance of the Temporal Service. It uses the namespace configured at the Factory level. New workers cannot be created after the start() has been called
        Parameters:
        taskQueue - task queue name worker uses to poll. It uses this name for both workflow and activity task queue polls.
        Returns:
        Worker
      • newWorker

        public Worker newWorker​(java.lang.String taskQueue,
                                WorkerOptions options)
        Creates worker that connects to an instance of the Temporal Service. It uses the namespace configured at the Factory level. New workers cannot be created after the start() has been called
        Parameters:
        taskQueue - task queue name worker uses to poll. It uses this name for both workflow and activity task queue polls.
        options - Options (like DataConverter override) for configuring worker.
        Returns:
        Worker
      • getWorker

        public Worker getWorker​(java.lang.String taskQueue)
        Returns a worker created previously through newWorker(String) for the given task queue.
      • start

        public void start()
        Starts all the workers created by this factory.
      • isStarted

        public boolean isStarted()
        Was start() called.
      • isTerminated

        public boolean isTerminated()
        Returns true if all tasks have completed following shut down. Note that isTerminated is never true unless either shutdown or shutdownNow was called first.
      • getWorkflowClient

        public WorkflowClient getWorkflowClient()
        Returns:
        instance of the Temporal client that this worker uses.
      • shutdownNow

        public void shutdownNow()
        Initiates an orderly shutdown in which polls are stopped and already received workflow and activity tasks are attempted to be stopped.
        This implementation cancels tasks via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate.
        After the shutdownNow calls to ActivityExecutionContext.heartbeat(Object) start throwing ActivityWorkerShutdownException.
        This method does not wait for the shutdown to complete. Use awaitTermination(long, TimeUnit) to do that.
        Invocation has no additional effect if already shut down.
      • awaitTermination

        public void awaitTermination​(long timeout,
                                     java.util.concurrent.TimeUnit unit)
        Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.
      • suspendPolling

        public void suspendPolling()
      • resumePolling

        public void resumePolling()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object