Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2010-12-21 11:27:02 +0000
committerGreg Wilkins2010-12-21 11:27:02 +0000
commite10c14c77aee8c4c0aaf1b7cd0def390239dbf2b (patch)
treea8eb6b05d4a8cf9590adf63c7438a85519a561e8 /jetty-deploy/src
parent7656b37934479596c40d098b3e27fccbfd09b271 (diff)
downloadorg.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.java25
-rw-r--r--jetty-deploy/src/main/java/org/eclipse/jetty/deploy/bindings/StandardUndeployer.java1
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)

Back to the top