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();
}