Class TimeBoundedBudget

java.lang.Object
org.apache.camel.support.task.budget.TimeBoundedBudget
All Implemented Interfaces:
Budget, TimeBudget

public class TimeBoundedBudget extends Object implements TimeBudget
This task budget limits the execution by both a maximum amount of time for the execution.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Whether the task has budget to continue executing or not
    The amount of time that has elapsed since the budget was created.
    long
    Defines an initial delay before running the task
    long
    The interval between each task execution (delay between the termination of one execution and the commencement of the next).
    int
    The current number of iterations
    long
    The maximum length of time that the task can execute
    boolean
    Move the task to the next iteration

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • maxDuration

      public long maxDuration()
      Description copied from interface: TimeBudget
      The maximum length of time that the task can execute
      Specified by:
      maxDuration in interface TimeBudget
      Returns:
      the length of time in milliseconds
    • initialDelay

      public long initialDelay()
      Description copied from interface: Budget
      Defines an initial delay before running the task
      Specified by:
      initialDelay in interface Budget
      Returns:
      the initial delay, in milliseconds, before running the task
    • interval

      public long interval()
      Description copied from interface: Budget
      The interval between each task execution (delay between the termination of one execution and the commencement of the next).
      Specified by:
      interval in interface Budget
      Returns:
      the interval, in milliseconds, for each task execution
    • canContinue

      public boolean canContinue()
      Description copied from interface: Budget
      Whether the task has budget to continue executing or not
      Specified by:
      canContinue in interface Budget
      Returns:
      true if the task can continue or false otherwise
    • next

      public boolean next()
      Description copied from interface: Budget
      Move the task to the next iteration
      Specified by:
      next in interface Budget
      Returns:
      true if the task can continue or false otherwise
    • iteration

      public int iteration()
      Description copied from interface: Budget
      The current number of iterations
      Specified by:
      iteration in interface Budget
      Returns:
      the current number of iterations
    • elapsed

      public Duration elapsed()
      Description copied from interface: Budget
      The amount of time that has elapsed since the budget was created. This can be used to account for the amount of time it took to run a task. The precision should be withing a few microseconds/milliseconds due to the start time being created along with the budget instance. We do so to avoid the overhead of checking it the next or canContinue methods because they could be part of the hot path for some components.
      Specified by:
      elapsed in interface Budget
      Returns:
      The amount of time that has elapsed since the budget was created