commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [exec] Portability of Different Approaches across Windows and OpenVMS
Date Fri, 06 Jul 2012 17:18:45 GMT
On 5 July 2012 20:12, Jordan Grant <JordanGrant@carfax.com> wrote:
> I have written two implementations using commons-exec that are functionally the same
in Windows, but our production environment is in OpenVMS.  I am curious as to whether one
approach or the other is preferred for portability.  I noticed that the CommandLauncherFactory
is capable of producing a VmsCommandLauncher and assume that the second approach is more portable
than the first somehow.  Does the DefaultExecutor use the CommandLauncherFactory and the CommandLauncher
under the covers, rendering the approaches basically the same?
>
> 1)
> CommandLine cmd = CommandLine.parse("ping localhost");
> DefaultExecutor executor = new DefaultExecutor();
>
> 2)
> CommandLauncher launcher = CommandLauncherFactory.createVMLauncher();
> CommandLine cmd = CommandLine.parse("ping localhost");
> Process process = launcher.exec(cmd, null);
> PumpStreamHandler outputHandler = new PumpStreamHandler();
> outputHandler.setProcessOutputStream(process.getInputStream());
> outputHandler.start();
>
> process.waitFor();
>
> outputHandler.stop();

This is not a full answer, but:

Using CommandLine#parse() is not recommended for portability.
Use CommandLine#addArgument() instead.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message