Class ConsoleConsumer

java.lang.Object
org.wildfly.plugin.tools.ConsoleConsumer
All Implemented Interfaces:
Runnable

public class ConsoleConsumer extends Object implements Runnable
A utility which will consume output from an InputStream and write it to an OutputStream. This is commonly used when a processes stdout or stderr needs to be consumed and redirected somewhere.
Author:
James R. Perkins
  • Constructor Details

    • ConsoleConsumer

      public ConsoleConsumer(InputStream in, OutputStream out)
      Creates a new console consumer which will pipe the InputStream to the OutputStream.
      Parameters:
      in - the input stream that should be pipped
      out - the output stream where the data should be written
  • Method Details

    • start

      public static Thread start(Process process, OutputStream out)
      Creates and starts a daemon thread which consumes a processes stdout stream and pipes the date to the output stream.

      Note that when using this method the ProcessBuilder.redirectErrorStream(boolean) should likely be true. Otherwise another thread should be created to consume stderr.

      Parameters:
      process - the process
      out - the output stream where the data should be written
      Returns:
      the thread that was started
    • start

      public static Thread start(InputStream in, OutputStream out)
      Creates and starts a daemon thread which pipes int InputStream to the OutputStream.
      Parameters:
      in - the input stream that should be pipped
      out - the output stream where the data should be written
      Returns:
      the thread that was started
    • run

      public void run()
      Specified by:
      run in interface Runnable