Package org.apache.commons.exec
Class PumpStreamHandler
- java.lang.Object
-
- org.apache.commons.exec.PumpStreamHandler
-
- All Implemented Interfaces:
ExecuteStreamHandler
public class PumpStreamHandler extends Object implements ExecuteStreamHandler
Copies standard output and error of sub-processes to standard output and error of the parent process. If output or error stream are set to null, any feedback from that stream will be lost.
-
-
Constructor Summary
Constructors Constructor Description PumpStreamHandler()Construct a newPumpStreamHandler.PumpStreamHandler(OutputStream outAndErr)Construct a newPumpStreamHandler.PumpStreamHandler(OutputStream out, OutputStream err)Construct a newPumpStreamHandler.PumpStreamHandler(OutputStream out, OutputStream err, InputStream input)Construct a newPumpStreamHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidsetProcessErrorStream(InputStream is)Set theInputStreamfrom which to read the standard error of the process.voidsetProcessInputStream(OutputStream os)Set theOutputStreamby means of which input can be sent to the process.voidsetProcessOutputStream(InputStream is)Set theInputStreamfrom which to read the standard output of the process.voidsetStopTimeout(long timeout)Set maximum time to wait until output streams are exchausted whenstop()was called.voidstart()Start theThreads.voidstop()Stop pumping the streams.
-
-
-
Constructor Detail
-
PumpStreamHandler
public PumpStreamHandler()
Construct a newPumpStreamHandler.
-
PumpStreamHandler
public PumpStreamHandler(OutputStream outAndErr)
Construct a newPumpStreamHandler.- Parameters:
outAndErr- the output/errorOutputStream.
-
PumpStreamHandler
public PumpStreamHandler(OutputStream out, OutputStream err)
Construct a newPumpStreamHandler.- Parameters:
out- the outputOutputStream.err- the errorOutputStream.
-
PumpStreamHandler
public PumpStreamHandler(OutputStream out, OutputStream err, InputStream input)
Construct a newPumpStreamHandler.- Parameters:
out- the outputOutputStream.err- the errorOutputStream.input- the inputInputStream.
-
-
Method Detail
-
setStopTimeout
public void setStopTimeout(long timeout)
Set maximum time to wait until output streams are exchausted whenstop()was called.- Parameters:
timeout- timeout in milliseconds or zero to wait forever (default)
-
setProcessOutputStream
public void setProcessOutputStream(InputStream is)
Set theInputStreamfrom which to read the standard output of the process.- Specified by:
setProcessOutputStreamin interfaceExecuteStreamHandler- Parameters:
is- theInputStream.
-
setProcessErrorStream
public void setProcessErrorStream(InputStream is)
Set theInputStreamfrom which to read the standard error of the process.- Specified by:
setProcessErrorStreamin interfaceExecuteStreamHandler- Parameters:
is- theInputStream.
-
setProcessInputStream
public void setProcessInputStream(OutputStream os)
Set theOutputStreamby means of which input can be sent to the process.- Specified by:
setProcessInputStreamin interfaceExecuteStreamHandler- Parameters:
os- theOutputStream.
-
start
public void start()
Start theThreads.- Specified by:
startin interfaceExecuteStreamHandler
-
stop
public void stop() throws IOExceptionStop pumping the streams. When a timeout is specified it it is not guaranteed that the pumper threads are cleanly terminated.- Specified by:
stopin interfaceExecuteStreamHandler- Throws:
IOException- thrown when an I/O exception occurs.
-
-