Class WorkerFactoryOptions.Builder

  • Enclosing class:
    WorkerFactoryOptions

    public static class WorkerFactoryOptions.Builder
    extends java.lang.Object
    • Method Detail

      • setWorkflowCacheSize

        public WorkerFactoryOptions.Builder setWorkflowCacheSize​(int workflowCacheSize)
        To avoid constant replay of code the workflow objects are cached on a worker. This cache is shared by all workers created by the Factory. Note that in the majority of situations the number of cached workflows is limited not by this value, but by the number of the threads defined through setMaxWorkflowThreadCount(int).

        Default value is 600

      • setMaxWorkflowThreadCount

        public WorkerFactoryOptions.Builder setMaxWorkflowThreadCount​(int maxWorkflowThreadCount)
        Maximum number of threads available for workflow execution across all workers created by the Factory. This includes cached workflows.

        Default is 600

      • setWorkflowHostLocalTaskQueueScheduleToStartTimeout

        @Deprecated
        public WorkerFactoryOptions.Builder setWorkflowHostLocalTaskQueueScheduleToStartTimeout​(java.time.Duration timeout)
        Deprecated.
        Timeout for a workflow task routed to the "sticky worker" - host that has the workflow instance cached in memory. Once it times out, then it can be picked up by any worker.

        Default value is 5 seconds.

      • setPlugins

        @Experimental
        public WorkerFactoryOptions.Builder setPlugins​(WorkerPlugin... plugins)
        Sets the worker plugins to use with workers created by this factory. Plugins can modify worker configuration and wrap worker lifecycle.

        Note: Plugins that implement both io.temporal.client.ClientPlugin and WorkerPlugin are automatically propagated from the client. Use this method for worker-only plugins that don't need client-side configuration.

        Parameters:
        plugins - the worker plugins to use
        Returns:
        this builder for chaining
        See Also:
        WorkerPlugin
      • setUsingVirtualWorkflowThreads

        @Experimental
        public WorkerFactoryOptions.Builder setUsingVirtualWorkflowThreads​(boolean usingVirtualWorkflowThreads)
        Use Virtual Threads for all workflow threads across all workers created by this factory. This option is only supported for JDK >= 21. If set then setMaxWorkflowThreadCount(int) is ignored.

        Default is false

      • setWorkflowHostLocalPollThreadCount

        @Deprecated
        public WorkerFactoryOptions.Builder setWorkflowHostLocalPollThreadCount​(int workflowHostLocalPollThreadCount)
        Deprecated.
        not used anymore by JavaSDK, this value doesn't have any effect
      • validateAndBuildWithDefaults

        public WorkerFactoryOptions validateAndBuildWithDefaults()
        Validates options and builds with defaults applied.

        Note: If plugins are configured via setPlugins(WorkerPlugin...), they will have an opportunity to modify options after this method is called, when the options are passed to WorkerFactory.newInstance(io.temporal.client.WorkflowClient). This means validation performed here occurs before plugin modifications. In most cases, users should simply call build() and let the factory creation handle validation.

        Returns:
        validated options with defaults applied