Package org.apache.camel.support.task
Class ForegroundTask
- java.lang.Object
-
- org.apache.camel.support.task.ForegroundTask
-
- All Implemented Interfaces:
BlockingTask
,Task
public class ForegroundTask extends Object implements BlockingTask
Runs a task in the foreground, executing for a given number of iteration and sleeping between each of them.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ForegroundTask.ForegroundTaskBuilder
A builder helper for building new foreground tasks
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Duration
elapsed()
How long it took to run the taskboolean
run(BooleanSupplier supplier)
Run the task<T> Optional<T>
run(Supplier<T> supplier, Predicate<T> predicate)
Run a task until it produces a result-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.camel.support.task.BlockingTask
run
-
-
-
-
Method Detail
-
run
public boolean run(BooleanSupplier supplier)
Description copied from interface:BlockingTask
Run the task- Specified by:
run
in interfaceBlockingTask
- Parameters:
supplier
- the task as a boolean supplier. The result is used to check if the task has completed or not. The supplier must return true if the execution has completed or false otherwise.- Returns:
- true if the task has completed successfully or false if: 1) the budget is exhausted or 2) the task was interrupted.
-
run
public <T> Optional<T> run(Supplier<T> supplier, Predicate<T> predicate)
Run a task until it produces a result- Type Parameters:
T
- the type for the result- Parameters:
supplier
- the supplier of the resultpredicate
- a predicate to test if the result is acceptable- Returns:
- An optional with the result
-
-