On 4/20/07, Reinhold Fuereder <[EMAIL PROTECTED]> wrote:
Hello Brett et al.,

Please find attached a patch for apache commons exec with respect to two issues 
(note that I have only tested them under M$ Windows yet, but I am very 
confident that these changes should work under *nix too):

<snip/>

Please consider posting to JIRA [1] instead. That way, it will remain
on the radar (and we won't have to remember to CC you on replies
either). Thanks.

-Rahul

[1] https://issues.apache.org/jira/browse/SANDBOX  (use component "Exec")


---

(1) ExecuteWatchdog test cases (DefaultExecutorTest.java): one for synchronous and one for 
asynchronous execution including the required test scripts (watchdog.bat, watchdog.sh) and test app 
(JavaApp.java). Whereas the one for asynchronous is a bit more elaborated and kind of "more 
correct", please note the hint on the well-known Java "bug"/issue under M$ Windows 
with respect to the Process.destroy() method in the asynchronous test case code.

---

(2) Add a method to CommandLine (CommandLine.java) to add arguments without 
quoting, i.e. pre-quoted arguments, because default quoting may not be correct 
in all cases. Note that I have not tried to find out if the default quoting can 
be changed accordingly. And also that maybe this problem is only M$ Windows 
specific, but I don't know (yet). The encountered problem was:

I want to start an executable (runMemorySud.cmd) with a list of JVM GC options 
that in turn will then start a Java application utilising these JVM GC options. 
I failed to find an accepted way of specifying the following:

runMemorySud.cmd -XX:+UseParallelGC -XX:ParallelGCThreads=2

After quite some time I found out that the default quoting of apache commons 
exec is causing the problem, and with default pure standard Java it works as 
expected by using (see attached ProcessTest.java example):

Process p = new ProcessBuilder("runMemorySud.cmd", "10", "30", "-XX:+UseParallelGC", 
"\"-XX:ParallelGCThreads=2\"").start();

However, as I said, I found no way of being able to "propagate this to the 
ProcessBuilder through apache commons exec". Thus, the need for adding a so-called 
pre-quoted argument addArgument() method.

---

Would you mind applying these patches?

Thanks,
        Reinhold

P.S.: Please CC me in your potential responses as I am not subscribed to this 
mailing list.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to