You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by sg...@apache.org on 2011/02/21 08:30:51 UTC
svn commit: r1072869 - in /commons/proper/exec/trunk/src:
main/java/org/apache/commons/exec/DefaultExecutor.java
main/java/org/apache/commons/exec/PumpStreamHandler.java
test/java/org/apache/commons/exec/DefaultExecutorTest.java
Author: sgoeschl
Date: Mon Feb 21 07:30:50 2011
New Revision: 1072869
URL: http://svn.apache.org/viewvc?rev=1072869&view=rev
Log:
[EXEC-55] Set names for started threads and provide factory methods for thread creation
Modified:
commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/DefaultExecutor.java
commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/PumpStreamHandler.java
commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/DefaultExecutorTest.java
Modified: commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/DefaultExecutor.java
URL: http://svn.apache.org/viewvc/commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/DefaultExecutor.java?rev=1072869&r1=1072868&r2=1072869&view=diff
==============================================================================
--- commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/DefaultExecutor.java (original)
+++ commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/DefaultExecutor.java Mon Feb 21 07:30:50 2011
@@ -181,10 +181,12 @@ public class DefaultExecutor implements
throw new IOException(workingDirectory + " doesn't exist.");
}
- executorThread = new Thread() {
- public void run() {
+ Runnable runnable = new Runnable()
+ {
+ public void run()
+ {
int exitValue = Executor.INVALID_EXITVALUE;
- try {
+ try {
exitValue = executeInternal(command, environment, workingDirectory, streamHandler);
handler.onProcessComplete(exitValue);
} catch (ExecuteException e) {
@@ -195,6 +197,7 @@ public class DefaultExecutor implements
}
};
+ this.executorThread = createThread(runnable, "Exec Default Executor");
getExecutorThread().start();
}
@@ -229,6 +232,18 @@ public class DefaultExecutor implements
}
/**
+ * Factory method to create a thread waiting for the result of an
+ * asynchronous execution.
+ *
+ * @param runnable the runnable passed to the thread
+ * @param name the name of the thread
+ * @return the thread
+ */
+ protected Thread createThread(Runnable runnable, String name) {
+ return new Thread(runnable, name);
+ }
+
+ /**
* Creates a process that runs a command.
*
* @param command
Modified: commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/PumpStreamHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/PumpStreamHandler.java?rev=1072869&r1=1072868&r2=1072869&view=diff
==============================================================================
--- commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/PumpStreamHandler.java (original)
+++ commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/PumpStreamHandler.java Mon Feb 21 07:30:50 2011
@@ -284,12 +284,11 @@ public class PumpStreamHandler implement
protected Thread createPump(final InputStream is, final OutputStream os,
final boolean closeWhenExhausted) {
final Thread result = new Thread(new StreamPumper(is, os,
- closeWhenExhausted));
+ closeWhenExhausted), "Exec Stream Pumper");
result.setDaemon(true);
return result;
}
-
/**
* Creates a stream pumper to copy the given input stream to the given
* output stream.
@@ -300,7 +299,7 @@ public class PumpStreamHandler implement
*/
private Thread createSystemInPump(InputStream is, OutputStream os) {
inputStreamPumper = new InputStreamPumper(is, os);
- final Thread result = new Thread(inputStreamPumper);
+ final Thread result = new Thread(inputStreamPumper, "Exec Input Stream Pumper");
result.setDaemon(true);
return result;
}
Modified: commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/DefaultExecutorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/DefaultExecutorTest.java?rev=1072869&r1=1072868&r2=1072869&view=diff
==============================================================================
--- commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/DefaultExecutorTest.java (original)
+++ commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/DefaultExecutorTest.java Mon Feb 21 07:30:50 2011
@@ -598,7 +598,6 @@ public class DefaultExecutorTest extends
String environment = baos.toString().trim();
assertTrue("Found no environment variables", environment.length() > 0);
assertFalse(environment.indexOf("NEW_VAR") >= 0);
- System.out.println(environment);
}
/**
@@ -961,8 +960,8 @@ public class DefaultExecutorTest extends
int x;
PipedInputStream pis = new PipedInputStream(pipedOutputStream);
while ((x = pis.read()) >= 0) {
- System.out.println("pis.available() " + pis.available());
- System.out.println("x " + x);
+ // System.out.println("pis.available() " + pis.available());
+ // System.out.println("x " + x);
}
pis.close();
@@ -1003,8 +1002,8 @@ public class DefaultExecutorTest extends
int x;
PipedInputStream pis = new PipedInputStream(pipedOutputStream);
while ((x = pis.read()) >= 0) {
- System.out.println("pis.available() " + pis.available());
- System.out.println("x " + x);
+ // System.out.println("pis.available() " + pis.available());
+ // System.out.println("x " + x);
}
pis.close();