diff options
author | Michael Gorovoy | 2011-03-05 02:54:15 +0000 |
---|---|---|
committer | Michael Gorovoy | 2011-03-05 02:54:15 +0000 |
commit | 266195cc0bedea21d256d57d9b9745243e64230a (patch) | |
tree | d85839fe7e8ad3af1b68cf9333a921c324e2deb7 /jetty-deploy/src/main/java | |
parent | db438ca86fc065b0c7634ade95c37b01345603da (diff) | |
download | org.eclipse.jetty.project-266195cc0bedea21d256d57d9b9745243e64230a.tar.gz org.eclipse.jetty.project-266195cc0bedea21d256d57d9b9745243e64230a.tar.xz org.eclipse.jetty.project-266195cc0bedea21d256d57d9b9745243e64230a.zip |
338819: Externally control Deployment Manager application lifecycle
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2856 7e9141cc-0065-0410-87d8-b60c137991c4
Diffstat (limited to 'jetty-deploy/src/main/java')
-rw-r--r-- | jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java | 23 | ||||
-rw-r--r-- | jetty-deploy/src/main/java/org/eclipse/jetty/deploy/jmx/DeploymentManagerMBean.java | 22 |
2 files changed, 40 insertions, 5 deletions
diff --git a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java index 1e2c0acfb4..5e83a08364 100644 --- a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java +++ b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java @@ -35,7 +35,6 @@ import org.eclipse.jetty.deploy.graph.Path; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.util.AttributesMap; -import org.eclipse.jetty.util.component.AbstractLifeCycle; import org.eclipse.jetty.util.component.AggregateLifeCycle; import org.eclipse.jetty.util.log.Log; @@ -435,10 +434,10 @@ public class DeploymentManager extends AggregateLifeCycle public void requestAppGoal(App app, String nodeName) { AppEntry appentry = findAppByOriginId(app.getOriginId()); - if (appentry == null) - { - throw new IllegalStateException("App not being tracked by Deployment Manager: " + app); - } + if (appentry == null) + { + throw new IllegalStateException("App not being tracked by Deployment Manager: " + app); + } requestAppGoal(appentry,nodeName); } @@ -455,6 +454,10 @@ public class DeploymentManager extends AggregateLifeCycle private void requestAppGoal(AppEntry appentry, String nodeName) { Node destinationNode = _lifecycle.getNodeByName(nodeName); + if (destinationNode == null) + { + throw new IllegalStateException("Node not present in Deployment Manager: " + nodeName); + } // Compute lifecycle steps Path path = _lifecycle.getPath(appentry.lifecyleNode,destinationNode); if (path.isEmpty()) @@ -563,4 +566,14 @@ public class DeploymentManager extends AggregateLifeCycle { this._useStandardBindings = useStandardBindings; } + + public Collection<Node> getNodes() + { + return _lifecycle.getNodes(); + } + + public Collection<App> getApps(String nodeName) + { + return getApps(_lifecycle.getNodeByName(nodeName)); + } } diff --git a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/jmx/DeploymentManagerMBean.java b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/jmx/DeploymentManagerMBean.java index 3a219215f6..3bd5362494 100644 --- a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/jmx/DeploymentManagerMBean.java +++ b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/jmx/DeploymentManagerMBean.java @@ -7,6 +7,7 @@ import java.util.List; import org.eclipse.jetty.deploy.App; import org.eclipse.jetty.deploy.AppProvider; import org.eclipse.jetty.deploy.DeploymentManager; +import org.eclipse.jetty.deploy.graph.Node; import org.eclipse.jetty.jmx.ObjectMBean; import org.eclipse.jetty.server.handler.ContextHandler; @@ -20,6 +21,14 @@ public class DeploymentManagerMBean extends ObjectMBean _manager=(DeploymentManager)managedObject; } + public Collection<String> getNodes() + { + List<String> nodes = new ArrayList<String>(); + for (Node node: _manager.getNodes()) + nodes.add(node.getName()); + return nodes; + } + public Collection<String> getApps() { List<String> apps=new ArrayList<String>(); @@ -28,6 +37,14 @@ public class DeploymentManagerMBean extends ObjectMBean return apps; } + public Collection<String> getApps(String nodeName) + { + List<String> apps=new ArrayList<String>(); + for (App app: _manager.getApps(nodeName)) + apps.add(app.getOriginId()); + return apps; + } + public Collection<ContextHandler> getContexts() throws Exception { List<ContextHandler> apps=new ArrayList<ContextHandler>(); @@ -40,4 +57,9 @@ public class DeploymentManagerMBean extends ObjectMBean { return _manager.getAppProviders(); } + + public void requestAppGoal(String appId, String nodeName) + { + _manager.requestAppGoal(appId, nodeName); + } } |