You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/10/02 13:46:53 UTC
svn commit: r701090 -
/servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java
Author: gnodet
Date: Thu Oct 2 04:46:52 2008
New Revision: 701090
URL: http://svn.apache.org/viewvc?rev=701090&view=rev
Log:
SMX4KNL-105: features are reinstalled on restart of servicemix
Modified:
servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java?rev=701090&r1=701089&r2=701090&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-features/src/main/java/org/apache/servicemix/gshell/features/internal/FeaturesServiceImpl.java Thu Oct 2 04:46:52 2008
@@ -73,6 +73,7 @@
private Map<String, Feature> features;
private Map<String, Set<Long>> installed = new HashMap<String, Set<Long>>();
private String boot;
+ private boolean bootFeaturesInstalled;
public BundleContext getBundleContext() {
return bundleContext;
@@ -267,7 +268,7 @@
}
saveState();
}
- if (boot != null) {
+ if (boot != null && !bootFeaturesInstalled) {
new Thread() {
public void run() {
String[] list = boot.split(",");
@@ -280,6 +281,8 @@
}
}
}
+ bootFeaturesInstalled = true;
+ saveState();
}
}.start();
}
@@ -322,6 +325,7 @@
Preferences prefs = preferences.getUserPreferences("FeaturesServiceState");
saveSet(prefs.node("repositories"), repositories.keySet());
saveMap(prefs.node("features"), installed);
+ prefs.putBoolean("bootFeaturesInstalled", bootFeaturesInstalled);
prefs.flush();
} catch (Exception e) {
LOGGER.error("Error persisting FeaturesService state", e);
@@ -337,6 +341,7 @@
internalAddRepository(repo);
}
installed = loadMap(prefs.node("features"));
+ bootFeaturesInstalled = prefs.getBoolean("bootFeaturesInstalled", false);
return true;
}
} catch (Exception e) {