org.apache.tools.ant.taskdefs
Class WaitFor
- Cloneable, DynamicElement
Wait for an external event to occur.
Wait for an external process to start or to complete some
task. This is useful with the
parallel
task to
synchronize the execution of tests with server startup.
The following attributes can be specified on a waitfor task:
- maxwait - maximum length of time to wait before giving up
- maxwaitunit - The unit to be used to interpret maxwait attribute
- checkevery - amount of time to sleep between each check
- checkeveryunit - The unit to be used to interpret checkevery attribute
- timeoutproperty - name of a property to set if maxwait has been exceeded.
The maxwaitunit and checkeveryunit are allowed to have the following values:
millisecond, second, minute, hour, day and week. The default is millisecond.
For programmatic use/subclassing, there are two methods that may be overrridden,
processSuccess
and
processTimeout
static class | WaitFor.Unit - The enumeration of units:
millisecond, second, minute, hour, day, week
|
WaitFor() - Constructor, names this task "waitfor".
|
add , addAnd , addAvailable , addChecksum , addContains , addEquals , addFilesMatch , addHttp , addIsFalse , addIsFileSelected , addIsReference , addIsSet , addIsTrue , addNot , addOr , addOs , addSocket , addUptodate , countConditions , createDynamicElement , getConditions , getTaskName , setTaskName |
WaitFor
public WaitFor()
Constructor, names this task "waitfor".
execute
public void execute()
throws BuildException
Check repeatedly for the specified conditions until they become
true or the timeout expires.
processSuccess
protected void processSuccess()
Actions to be taken on a successful waitfor.
This is an override point. The base implementation does nothing.
processTimeout
protected void processTimeout()
Actions to be taken on an unsuccessful wait.
This is an override point. It is where the timeout processing takes place.
The base implementation sets the timeoutproperty if there was a timeout
and the property was defined.
setCheckEvery
public void setCheckEvery(long time)
Set the time between each check
setCheckEveryUnit
public void setCheckEveryUnit(WaitFor.Unit unit)
Set the check every time unit
unit
- an enumerated Unit
value
setMaxWait
public void setMaxWait(long time)
Set the maximum length of time to wait.
setMaxWaitUnit
public void setMaxWaitUnit(WaitFor.Unit unit)
Set the max wait time unit
unit
- an enumerated Unit
value
setTimeoutProperty
public void setTimeoutProperty(String p)
Name the property to set after a timeout.