]> WPIA git - gigi.git/commitdiff
add: Smooth restart for the DevelLauncher
authorFelix Dörre <felix@dogcraft.de>
Mon, 27 Oct 2014 17:55:51 +0000 (18:55 +0100)
committerJanis Streib <janis@dogcraft.de>
Wed, 31 Dec 2014 01:35:49 +0000 (02:35 +0100)
src/org/cacert/gigi/DevelLauncher.java

index 0e1564c8022f7ce9e59e4d954ed89c490f3fcbda..2cc7f6348bb1900e0853a1654c1683d4a43d4919 100644 (file)
@@ -11,6 +11,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.lang.reflect.Field;
+import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.HashMap;
@@ -38,6 +39,13 @@ public class DevelLauncher {
             }
             i++;
         }
+        try {
+            String targetPort = mainProps.getProperty("http.port");
+            String targetHost = mainProps.getProperty("name.www");
+            URL u = new URL("http://" + targetHost + ":" + targetPort + "/kill");
+            u.openStream();
+        } catch (IOException e) {
+        }
 
         ByteArrayOutputStream chunkConfig = new ByteArrayOutputStream();
         DataOutputStream dos = new DataOutputStream(chunkConfig);
@@ -76,6 +84,18 @@ public class DevelLauncher {
 
                 }
 
+                @Override
+                public boolean needsLogin() {
+                    return false;
+                }
+            });
+            pages.put("/kill", new Page("Kill") {
+
+                @Override
+                public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+                    System.exit(0);
+                }
+
                 @Override
                 public boolean needsLogin() {
                     return false;