Package org.apache.commons.exec
Class DefaultExecuteResultHandler
java.lang.Object
org.apache.commons.exec.DefaultExecuteResultHandler
- All Implemented Interfaces:
ExecuteResultHandler
A default implementation of 'ExecuteResultHandler' used for asynchronous process handling.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ExecuteException
Any offending exception.private int
The exit value of the finished process.private boolean
Keep track if the process is still running.private static final int
The interval polling the result. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets theexception
causing the process execution to fail.int
Gets theexitValue
of the process.boolean
Tests whether the process exited and a result is available, i.e.void
onProcessComplete
(int exitValue) The asynchronous execution completed.void
The asynchronous execution failed.void
waitFor()
Causes the current thread to wait, if necessary, until the process has terminated.void
waitFor
(long timeoutMillis) Deprecated.void
Causes the current thread to wait, if necessary, until the process has terminated.
-
Field Details
-
SLEEP_TIME_MS
private static final int SLEEP_TIME_MSThe interval polling the result.- See Also:
-
hasResult
private volatile boolean hasResultKeep track if the process is still running. -
exitValue
private volatile int exitValueThe exit value of the finished process. -
exception
Any offending exception.
-
-
Constructor Details
-
DefaultExecuteResultHandler
public DefaultExecuteResultHandler()Constructs a new instance.
-
-
Method Details
-
getException
Gets theexception
causing the process execution to fail.- Returns:
- the exception.
- Throws:
IllegalStateException
- if the process has not exited yet.
-
getExitValue
public int getExitValue()Gets theexitValue
of the process.- Returns:
- the exitValue.
- Throws:
IllegalStateException
- if the process has not exited yet.
-
hasResult
public boolean hasResult()Tests whether the process exited and a result is available, i.e. exitCode or exception?- Returns:
- true whether a result of the execution is available.
-
onProcessComplete
public void onProcessComplete(int exitValue) Description copied from interface:ExecuteResultHandler
The asynchronous execution completed.- Specified by:
onProcessComplete
in interfaceExecuteResultHandler
- Parameters:
exitValue
- the exit value of the sub-process.- See Also:
-
onProcessFailed
Description copied from interface:ExecuteResultHandler
The asynchronous execution failed.- Specified by:
onProcessFailed
in interfaceExecuteResultHandler
- Parameters:
e
- theExecuteException
containing the root cause.- See Also:
-
waitFor
Causes the current thread to wait, if necessary, until the process has terminated. This method returns immediately if the process has already terminated. If the process has not yet terminated, the calling thread will be blocked until the process exits.- Throws:
InterruptedException
- if the current thread is interrupted by another thread while it is waiting, then the wait is ended and anInterruptedException
is thrown.
-
waitFor
Causes the current thread to wait, if necessary, until the process has terminated. This method returns immediately if the process has already terminated. If the process has not yet terminated, the calling thread will be blocked until the process exits.- Parameters:
timeout
- the maximum time to wait.- Throws:
InterruptedException
- if the current thread is interrupted by another thread while it is waiting, then the wait is ended and anInterruptedException
is thrown.- Since:
- 1.4.0
-
waitFor
Deprecated.UsewaitFor(Duration)
.Causes the current thread to wait, if necessary, until the process has terminated. This method returns immediately if the process has already terminated. If the process has not yet terminated, the calling thread will be blocked until the process exits.- Parameters:
timeoutMillis
- the maximum time to wait in milliseconds.- Throws:
InterruptedException
- if the current thread is interrupted by another thread while it is waiting, then the wait is ended and anInterruptedException
is thrown.
-
waitFor(Duration)
.