Author: gnodet
Date: Fri Sep 26 01:59:38 2008
New Revision: 699230

URL: http://svn.apache.org/viewvc?rev=699230&view=rev
Log:
Do not use the shell scripts to launch instances, as the pid will be the one 
from the script instead of the one from the java process

Modified:
    
servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java

Modified: 
servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java?rev=699230&r1=699229&r2=699230&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java
 (original)
+++ 
servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java
 Fri Sep 26 01:59:38 2008
@@ -30,6 +30,7 @@
 
 import org.apache.servicemix.jpm.Process;
 import org.apache.servicemix.jpm.ProcessBuilderFactory;
+import org.apache.servicemix.jpm.impl.ScriptUtils;
 import org.apache.servicemix.kernel.gshell.admin.Instance;
 import org.apache.geronimo.gshell.common.io.PumpStreamHandler;
 import org.apache.geronimo.gshell.command.IO;
@@ -111,21 +112,20 @@
         if (this.process != null) {
             throw new IllegalStateException("Instance already started");
         }
-        /*
-        this.process = new ProcessBuilder()
-                            .directory(new File(name))
-                            .command(isWindows() ? "bin\\servicemix.bat" : 
"bin/servicemix", "server")
-                            .start();
-        IO io = ProxyIO.getIO();
-        this.handler = new PumpStreamHandler(new ByteArrayInputStream(new 
byte[0]),
-                                             io != null ? io.outputStream : 
new ByteArrayOutputStream(),
-                                             io != null ? io.errorStream : new 
ByteArrayOutputStream());
-        this.handler.attach(this.process);
-        this.handler.start();
-        */
+        String command = new File(System.getProperty("java.home"), "bin/java" 
+ (ScriptUtils.isWindows() ? ".exe" : "")).getCanonicalPath()
+                + " -server -Xms128M -Xmx512M -Dcom.sun.management.jmxremote"
+                + " -Dservicemix.home=\"" + 
System.getProperty("servicemix.home") + "\""
+                + " -Dservicemix.base=\"" + new File(name).getCanonicalPath() 
+ "\""
+                + " -Dservicemix.startLocalConsole=false"
+                + " -Dservicemix.startRemoteShell=true"
+                + " -classpath "
+                + new File(System.getProperty("servicemix.home"), 
"lib/servicemix.jar").getCanonicalPath()
+                + System.getProperty("path.separator")
+                + new File(System.getProperty("servicemix.home"), 
"lib/servicemix-jaas-boot.jar").getCanonicalPath()
+                + " org.apache.servicemix.kernel.main.Main";
         this.process = ProcessBuilderFactory.newInstance().newBuilder()
                         .directory(new File(name))
-                        .command(isWindows() ? "bin\\servicemix.bat server" : 
"bin/servicemix server")
+                        .command(command)
                         .start();
         this.service.saveState();
     }
@@ -176,16 +176,6 @@
         }
     }
 
-    private static final boolean windows;
-
-    static {
-        windows = 
System.getProperty("os.name").toLowerCase().indexOf("windows") != -1;
-    }
-
-    protected static boolean isWindows() {
-        return windows;
-    }
-
     protected static boolean deleteFile(File fileToDelete) {
         if (fileToDelete == null || !fileToDelete.exists()) {
             return true;


Reply via email to