You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2015/04/08 10:06:01 UTC

karaf git commit: [KARAF-3648]should zero out instance pid in instance.properties when we shutdown an instance from shell

Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 02ae75d22 -> fafedc5d0


[KARAF-3648]should zero out instance pid in instance.properties when we shutdown an instance from shell


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/fafedc5d
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/fafedc5d
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/fafedc5d

Branch: refs/heads/karaf-2.x
Commit: fafedc5d07d74931037527d1c2f8201147f21af9
Parents: 02ae75d
Author: Freeman Fang <fr...@gmail.com>
Authored: Wed Apr 8 16:05:35 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Wed Apr 8 16:05:35 2015 +0800

----------------------------------------------------------------------
 main/src/main/java/org/apache/karaf/main/Main.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/fafedc5d/main/src/main/java/org/apache/karaf/main/Main.java
----------------------------------------------------------------------
diff --git a/main/src/main/java/org/apache/karaf/main/Main.java b/main/src/main/java/org/apache/karaf/main/Main.java
index 803c499..81c0e59 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -262,7 +262,7 @@ public class Main {
         // Load system properties.
         loadSystemProperties(karafEtc);
 
-        updateInstancePid();
+        updateInstancePid(true);
 
         // Read configuration properties.
         configProps = loadConfigProperties();
@@ -562,6 +562,7 @@ public class Main {
                 main.awaitShutdown();
                 boolean stopped = main.destroy();
                 restart = Boolean.getBoolean("karaf.restart");
+                main.updateInstancePid(false);
                 if (!stopped) {
                     if (restart) {
                         System.err.println("Timeout waiting for framework to stop.  Restarting now.");
@@ -602,10 +603,10 @@ public class Main {
         }
     }
 
-    private void updateInstancePid() {
+    private void updateInstancePid(final boolean isStartingInstance) {
         try {
             final String instanceName = System.getProperty("karaf.name");
-            final String pid = getPid();
+            final String pid = isStartingInstance ? getPid() : "0";
             
             final boolean isRoot = karafHome.equals(karafBase);
             
@@ -636,7 +637,8 @@ public class Main {
                                 props.setProperty("item.0.pid", pid);
                                 props.setProperty("item.0.root", "true");
                             } else {
-                                throw new IllegalStateException("Child instance started but no root registered in " + propertiesFile);
+                                String errMsg = "Child instance " + (isStartingInstance ? "started" : "stopped") + " but no root registered in ";
+                                throw new IllegalStateException(errMsg + propertiesFile);
                             }
                         } else {
                             int count = Integer.parseInt(props.getProperty("count"));