Package org.jvnet.hudson.reactor
Class Reactor
java.lang.Object
org.jvnet.hudson.reactor.Reactor
- All Implemented Interfaces:
Iterable<org.jvnet.hudson.reactor.Reactor.Node>
Executes a set of
Tasks that dependend on each other.
As a Set, this object represents a read-only view of all Tasks.
- Author:
- Kohsuke Kawaguchi
-
Constructor Summary
ConstructorsConstructorDescriptionReactor(Collection<? extends TaskBuilder> builders) Reactor(TaskBuilder... builders) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a newTaskto the reactor.voidAdds a set of tasks to the reactor.voidvoidexecute(Executor e, ReactorListener listener) Executes this initialization session with the given executor.Iterator<org.jvnet.hudson.reactor.Reactor.Node>iterator()protected voidCan be overridden by the subtype to enclose the entire execution of the task.intsize()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Reactor
- Throws:
IOException
-
Reactor
- Throws:
IOException
-
-
Method Details
-
iterator
-
size
public int size() -
execute
- Throws:
InterruptedExceptionReactorException
-
add
Adds a newTaskto the reactor.This can be even invoked during execution.
-
addAll
Adds a set of tasks to the reactor.When adding a series of related tasks, it's often necessary to add them as a bulk, or else the newly added task can start executing before its dependencies are added.
-
execute
public void execute(Executor e, ReactorListener listener) throws InterruptedException, ReactorException Executes this initialization session with the given executor.- Parameters:
e- Used for executingTasks.listener- Receives callbacks during the execution.- Throws:
InterruptedException- if this thread is interrupted while waiting for the execution of tasks to complete.ReactorException- if one of the tasks failed by throwing an exception. The caller is responsible for canceling existingTasks that are in progress inExecutor, if that's desired.
-
runTask
Can be overridden by the subtype to enclose the entire execution of the task.- Throws:
Exception
-