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:46:08 UTC
karaf git commit: [KARAF-3648]should zero out instance pid in
instance.properties when we shutdown an instance from shell (cherry picked
from commit 96f96d55bb453a45f816a41f65af006e8edc7aab)
Repository: karaf
Updated Branches:
refs/heads/master 813d5bfa5 -> 8b7f604c5
[KARAF-3648]should zero out instance pid in instance.properties when we shutdown an instance from shell
(cherry picked from commit 96f96d55bb453a45f816a41f65af006e8edc7aab)
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/8b7f604c
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/8b7f604c
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/8b7f604c
Branch: refs/heads/master
Commit: 8b7f604c5a2b5f533fd98cff350416fb123a009d
Parents: 813d5bf
Author: Freeman Fang <fr...@gmail.com>
Authored: Wed Apr 8 16:43:17 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Wed Apr 8 16:44:03 2015 +0800
----------------------------------------------------------------------
.../main/java/org/apache/karaf/main/InstanceHelper.java | 8 +++++---
main/src/main/java/org/apache/karaf/main/Main.java | 10 +++++++++-
2 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/8b7f604c/main/src/main/java/org/apache/karaf/main/InstanceHelper.java
----------------------------------------------------------------------
diff --git a/main/src/main/java/org/apache/karaf/main/InstanceHelper.java b/main/src/main/java/org/apache/karaf/main/InstanceHelper.java
index f276f01..f78c127 100644
--- a/main/src/main/java/org/apache/karaf/main/InstanceHelper.java
+++ b/main/src/main/java/org/apache/karaf/main/InstanceHelper.java
@@ -36,10 +36,10 @@ import org.osgi.framework.launch.Framework;
public class InstanceHelper {
- static void updateInstancePid(final File karafHome, File karafBase) {
+ static void updateInstancePid(final File karafHome, File karafBase, 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);
@@ -70,7 +70,9 @@ public class InstanceHelper {
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"));
http://git-wip-us.apache.org/repos/asf/karaf/blob/8b7f604c/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 169e31a..12b8c43 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -185,6 +185,7 @@ public class Main {
main.awaitShutdown();
boolean stopped = main.destroy();
restart = Boolean.getBoolean("karaf.restart");
+ main.updateInstancePidAfterShutdown();
if (!stopped) {
if (restart) {
System.err.println("Timeout waiting for framework to stop. Restarting now.");
@@ -214,6 +215,13 @@ public class Main {
public void setShutdownCallback(ShutdownCallback shutdownCallback) {
this.shutdownCallback = shutdownCallback;
}
+
+ public void updateInstancePidAfterShutdown() throws Exception {
+ if (config == null) {
+ config = new ConfigProperties();
+ }
+ InstanceHelper.updateInstancePid(config.karafHome, config.karafBase, false);
+ }
public void launch() throws Exception {
config = new ConfigProperties();
@@ -223,7 +231,7 @@ public class Main {
String log4jConfigPath = System.getProperty("karaf.etc") + "/org.ops4j.pax.logging.cfg";
BootstrapLogManager.setProperties(config.props, log4jConfigPath);
lockCallback = new KarafLockCallback();
- InstanceHelper.updateInstancePid(config.karafHome, config.karafBase);
+ InstanceHelper.updateInstancePid(config.karafHome, config.karafBase, true);
LOG.addHandler(BootstrapLogManager.getDefaultHandler());
for (String provider : config.securityProviders) {