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();

Reply via email to