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
Task
s that dependend on each other.
As a Set
, this object represents a read-only view of all Task
s.
- Author:
- Kohsuke Kawaguchi
-
Constructor Summary
ConstructorDescriptionReactor
(Collection<? extends TaskBuilder> builders) Reactor
(TaskBuilder... builders) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a newTask
to the reactor.void
Adds a set of tasks to the reactor.void
void
execute
(Executor e, ReactorListener listener) Executes this initialization session with the given executor.Iterator<org.jvnet.hudson.reactor.Reactor.Node>
iterator()
protected void
Can be overridden by the subtype to enclose the entire execution of the task.int
size()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
InterruptedException
ReactorException
-
add
Adds a newTask
to 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 executingTask
s.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 existingTask
s 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
-