Author: jbonofre
Date: Tue Aug  7 00:08:52 2012
New Revision: 1370072

URL: http://svn.apache.org/viewvc?rev=1370072&view=rev
Log:
[KARAF-1699] Add wait support to the AdminMBean

Modified:
    
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
    
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java

Modified: 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java?rev=1370072&r1=1370071&r2=1370072&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
 (original)
+++ 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/AdminServiceMBean.java
 Tue Aug  7 00:08:52 2012
@@ -40,7 +40,9 @@ public interface AdminServiceMBean {
     void changeRmiServerPort(String name, int port) throws Exception;
     void changeJavaOpts(String name, String javaopts) throws Exception;
     void destroyInstance(String name) throws Exception;
+    void startInstance(String name) throws Exception;
     void startInstance(String name, String opts) throws Exception;
+    void startInstance(String name, String opts, boolean wait) throws 
Exception;
     void stopInstance(String name) throws Exception;
     void renameInstance(String originalName, String newName) throws Exception;
 

Modified: 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java?rev=1370072&r1=1370071&r2=1370072&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
 (original)
+++ 
karaf/branches/karaf-2.2.x/admin/management/src/main/java/org/apache/karaf/admin/management/internal/AdminServiceMBeanImpl.java
 Tue Aug  7 00:08:52 2012
@@ -86,10 +86,32 @@ public class AdminServiceMBeanImpl exten
         getExistingInstance(name).destroy();
     }
 
+    public void startInstance(String name) throws Exception {
+        getExistingInstance(name).start(null);
+    }
+
     public void startInstance(String name, String opts) throws Exception {
         getExistingInstance(name).start(opts);
     }
 
+    public void startInstance(String name, String opts, boolean wait) throws 
Exception {
+        Instance child = getExistingInstance(name);
+        if (wait) {
+            String state = child.getState();
+            if (Instance.STOPPED.equals(state)) {
+                child.start(opts);
+            }
+            if (!Instance.STARTED.equals(state)) {
+                do {
+                    Thread.sleep(500);
+                    state = child.getState();
+                } while (Instance.STARTING.equals(state));
+            }
+        } else {
+            child.start(opts);
+        }
+    }
+
     public void stopInstance(String name) throws Exception {
         getExistingInstance(name).stop();
     }


Reply via email to