diff options
author | Greg Wilkins | 2010-12-21 11:27:02 +0000 |
---|---|---|
committer | Greg Wilkins | 2010-12-21 11:27:02 +0000 |
commit | e10c14c77aee8c4c0aaf1b7cd0def390239dbf2b (patch) | |
tree | a8eb6b05d4a8cf9590adf63c7438a85519a561e8 /jetty-deploy/src | |
parent | 7656b37934479596c40d098b3e27fccbfd09b271 (diff) | |
download | org.eclipse.jetty.project-e10c14c77aee8c4c0aaf1b7cd0def390239dbf2b.tar.gz org.eclipse.jetty.project-e10c14c77aee8c4c0aaf1b7cd0def390239dbf2b.tar.xz org.eclipse.jetty.project-e10c14c77aee8c4c0aaf1b7cd0def390239dbf2b.zip |
332937 Added Destroyable interface and reworked dependent lifecycles, specially of JNDI
Also added Dumpable interface to improve and standardize the output of nested structures while debugging
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2615 7e9141cc-0065-0410-87d8-b60c137991c4
Diffstat (limited to 'jetty-deploy/src')
-rw-r--r-- | jetty-deploy/src/main/java/org/eclipse/jetty/deploy/DeploymentManager.java | 25 | ||||
-rw-r--r-- | jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java | 1 |
2 files changed, 9 insertions, 17 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 c2eee61184..9e34d5d29c 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 @@ -20,9 +20,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; -import java.util.ListIterator; import java.util.Map; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; @@ -38,6 +36,7 @@ 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; /** @@ -54,7 +53,7 @@ import org.eclipse.jetty.util.log.Log; * <p> * <img src="doc-files/DeploymentManager.png"> */ -public class DeploymentManager extends AbstractLifeCycle +public class DeploymentManager extends AggregateLifeCycle { /** * Represents a single tracked app within the deployment manager. @@ -144,8 +143,10 @@ public class DeploymentManager extends AbstractLifeCycle throw new IllegalStateException(); _providers.clear(); + removeBeans(); for (AppProvider provider:providers) - _providers.add(provider); + if (_providers.add(provider)) + addBean(provider); } public Collection<AppProvider> getAppProviders() @@ -159,6 +160,7 @@ public class DeploymentManager extends AbstractLifeCycle throw new IllegalStateException(); _providers.add(provider); + addBean(provider); } public void setLifeCycleBindings(Collection<AppLifeCycle.Binding> bindings) @@ -250,18 +252,6 @@ public class DeploymentManager extends AbstractLifeCycle } return null; } - - /* - public App getAppByContextId(String contextId) - { - AppEntry entry = findAppByContextId(contextId); - if (entry == null) - { - return null; - } - return entry.app; - } - */ public App getAppByOriginId(String originId) { @@ -404,7 +394,8 @@ public class DeploymentManager extends AbstractLifeCycle public void removeAppProvider(AppProvider provider) { - _providers.remove(provider); + if(_providers.remove(provider)) + removeBean(provider); try { provider.stop(); diff --git a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java index 03877cbad7..969a601546 100644 --- a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java +++ b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java @@ -53,6 +53,7 @@ public class StandardUndeployer implements AppLifeCycle.Binding { Log.debug("Removing handler: " + child); coll.removeHandler(child); + ((ContextHandler)child).destroy(); Log.debug(String.format("After removal: %d (originally %d)",coll.getHandlers().length,originalCount)); } else if (child instanceof HandlerCollection) |