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 2012/12/18 06:44:54 UTC

svn commit: r1423277 - in /karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal: AdminServiceImpl.java InstanceImpl.java

Author: ffang
Date: Tue Dec 18 05:44:52 2012
New Revision: 1423277

URL: http://svn.apache.org/viewvc?rev=1423277&view=rev
Log:
[KARAF-2074]ensure admin service always load storage file instance.properties before each operation

Modified:
    karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/AdminServiceImpl.java
    karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/InstanceImpl.java

Modified: karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/AdminServiceImpl.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/AdminServiceImpl.java?rev=1423277&r1=1423276&r2=1423277&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/AdminServiceImpl.java (original)
+++ karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/AdminServiceImpl.java Tue Dec 18 05:44:52 2012
@@ -140,6 +140,7 @@ public class AdminServiceImpl implements
     
     public synchronized void refreshInstance() throws Exception {
         try {
+            init();
             File storageFile = new File(storageLocation, STORAGE_FILE);
             if (!storageFile.isFile()) {
                 if (storageFile.exists()) {
@@ -169,6 +170,11 @@ public class AdminServiceImpl implements
     }
 
     public synchronized Instance createInstance(String name, InstanceSettings settings) throws Exception {
+        try {
+            init();
+        } catch (Exception e) {
+            LOGGER.warn("Unable to reload Karaf instance list", e);
+        }
         if (instances.get(name) != null) {
             throw new IllegalArgumentException("Instance '" + name + "' already exists");
         }
@@ -277,6 +283,11 @@ public class AdminServiceImpl implements
     }
 
     public synchronized Instance getInstance(String name) {
+        try {
+            init();
+        } catch (Exception e) {
+            LOGGER.warn("Unable to reload Karaf instance list", e);
+        }
         return instances.get(name);
     }
 
@@ -285,6 +296,11 @@ public class AdminServiceImpl implements
     }
 
     public synchronized void renameInstance(String oldName, String newName) throws Exception {
+        try {
+            init();
+        } catch (Exception e) {
+            LOGGER.warn("Unable to reload Karaf instance list", e);
+        }
         if (instances.get(newName) != null) {
             throw new IllegalArgumentException("Instance " + newName + " already exists");
         }
@@ -336,6 +352,11 @@ public class AdminServiceImpl implements
     }
 
     public synchronized Instance cloneInstance(String name, String cloneName, InstanceSettings settings) throws Exception {
+        try {
+            init();
+        } catch (Exception e) {
+            LOGGER.warn("Unable to reload Karaf instance list", e);
+        }
         if (instances.get(cloneName) != null) {
             throw new IllegalArgumentException("Instance " + cloneName + " already exists");
         }

Modified: karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/InstanceImpl.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/InstanceImpl.java?rev=1423277&r1=1423276&r2=1423277&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/InstanceImpl.java (original)
+++ karaf/branches/karaf-2.3.x/admin/core/src/main/java/org/apache/karaf/admin/internal/InstanceImpl.java Tue Dec 18 05:44:52 2012
@@ -538,6 +538,7 @@ public class InstanceImpl implements Ins
     }
 
     public boolean isAttached() {
+        checkProcess();
         return (process != null);
     }