Class WorkflowSettings.Builder

  • Enclosing class:
    WorkflowSettings

    public static class WorkflowSettings.Builder
    extends Object
    Builder for workflow settings.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • onAverageEveryNthExecution

        public static BooleanSupplier onAverageEveryNthExecution​(int n)
        Returns true randomly every n:th time.
        Parameters:
        n - Controls the frequency of returning true. With n=1, returns true every time. With n=100, returns true on average once per 100 calls.
        Returns:
        Producer of boolean values
      • oncePerDay

        public static BooleanSupplier oncePerDay()
        Returns true once per day (during early hours).
        Returns:
        Producer of boolean values
      • setMaxErrorTransitionDelay

        public WorkflowSettings.Builder setMaxErrorTransitionDelay​(org.joda.time.Duration maxErrorTransitionDelay)
        Set the maximum delay on execution retry after an error.
        Parameters:
        maxErrorTransitionDelay - The delay.
        Returns:
        this.
      • setMinErrorTransitionDelay

        public WorkflowSettings.Builder setMinErrorTransitionDelay​(org.joda.time.Duration minErrorTransitionDelay)
        Set the minimum delay on execution retry after an error.
        Parameters:
        minErrorTransitionDelay - The delay.
        Returns:
        this.
      • setShortTransitionDelay

        public WorkflowSettings.Builder setShortTransitionDelay​(org.joda.time.Duration shortTransitionDelay)
        Set the length of forced delay to break execution of a step that is considered to be busy looping.
        Parameters:
        shortTransitionDelay - The delay.
        Returns:
        this.
      • setMaxRetries

        public WorkflowSettings.Builder setMaxRetries​(int maxRetries)
        Set maximum retry attempts.
        Parameters:
        maxRetries - Maximum number of retries.
        Returns:
        this.
      • setMaxSubsequentStateExecutions

        public WorkflowSettings.Builder setMaxSubsequentStateExecutions​(int maxSubsequentStateExecutions)
        Set maximum number of subsequent state executions before forcing a short transition delay.
        Parameters:
        maxSubsequentStateExecutions - Maximum number of subsequent state executions.
        Returns:
        this.
      • setMaxSubsequentStateExecutions

        public WorkflowSettings.Builder setMaxSubsequentStateExecutions​(WorkflowState state,
                                                                        int maxSubsequentStateExecutions)
        Set maximum number of subsequent state executions before forcing a short transition delay for given state.
        Parameters:
        state - The state for which the limit is applied.
        maxSubsequentStateExecutions - Maximum number of subsequent state executions.
        Returns:
        this.
      • setHistoryDeletableAfter

        public WorkflowSettings.Builder setHistoryDeletableAfter​(org.joda.time.ReadablePeriod period)
        Set the delay after which workflow history (actions, states) can be deleted from the database by nFlow. Setting value to null indicates that history is not deletable. Default is 45 days.
        Parameters:
        period - Delay after which history can be deleted.
        Returns:
        this.
      • setDeleteHistoryCondition

        public WorkflowSettings.Builder setDeleteHistoryCondition​(BooleanSupplier deleteHistoryCondition)
        Set the condition to be checked to decide if workflow instance history should be deleted.
        Parameters:
        deleteHistoryCondition - Function to be called.
        Returns:
        this.
      • setDefaultPriority

        public WorkflowSettings.Builder setDefaultPriority​(short defaultPriority)
        Set the default priority for new workflow instances.
        Parameters:
        defaultPriority - Default priority.
        Returns:
        this.
      • build

        public WorkflowSettings build()
        Create workflow settings object.
        Returns:
        Workflow settings.