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 classForegroundTask.ForegroundTaskBuilderA builder helper for building new foreground tasks
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Durationelapsed()How long it took to run the taskbooleanrun(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:BlockingTaskRun the task- Specified by:
runin 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
-
-