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 longUNLIMITED_DURATION
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanContinue()Whether the task has budget to continue executing or notDurationelapsed()The amount of time that has elapsed since the budget was created.longinitialDelay()Defines an initial delay before running the tasklonginterval()The interval between each task executionlongmaxDuration()The maximum length of time that the task can executebooleannext()Move the task to the next iteration
-
-
-
Field Detail
-
UNLIMITED_DURATION
public static final long UNLIMITED_DURATION
- See Also:
- Constant Field Values
-
-
Method Detail
-
maxDuration
public long maxDuration()
Description copied from interface:TimeBudgetThe maximum length of time that the task can execute- Specified by:
maxDurationin interfaceTimeBudget- Returns:
- the length of time in milliseconds
-
initialDelay
public long initialDelay()
Description copied from interface:BudgetDefines an initial delay before running the task- Specified by:
initialDelayin interfaceBudget- Returns:
- the initial delay, in milliseconds, before running the task
-
interval
public long interval()
Description copied from interface:BudgetThe interval between each task execution
-
canContinue
public boolean canContinue()
Description copied from interface:BudgetWhether the task has budget to continue executing or not- Specified by:
canContinuein interfaceBudget- Returns:
- true if the task can continue or false otherwise
-
next
public boolean next()
Description copied from interface:BudgetMove the task to the next iteration
-
elapsed
public Duration elapsed()
Description copied from interface:BudgetThe 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.
-
-