Class DefaultWorkflowScheduler

java.lang.Object
io.axoniq.framework.workflow.runtime.execution.DefaultWorkflowScheduler
All Implemented Interfaces:
WorkflowScheduler

@Internal public class DefaultWorkflowScheduler extends Object implements WorkflowScheduler
Wall-clock timeout scheduler used in production.
Since:
5.4.0
Author:
Simon Zambrovski
  • Constructor Details

    • DefaultWorkflowScheduler

      public DefaultWorkflowScheduler(Clock clock, ScheduledThreadPoolExecutor timerExecutor)
      Creates a scheduler backed by the provided timer executor.
      Parameters:
      clock - workflow clock
      timerExecutor - executor used only for deadline delivery
  • Method Details

    • schedule

      public WorkflowScheduler.ScheduledTask schedule(Instant deadline)
      Description copied from interface: WorkflowScheduler
      Schedules a deadline notification.
      Specified by:
      schedule in interface WorkflowScheduler
      Parameters:
      deadline - deadline according to the configured workflow clock
      Returns:
      handle of the scheduled task
    • shutdown

      public void shutdown()
      Stops deadline delivery and cancels pending timer tasks.