diff --git a/VERSION.txt b/VERSION.txt index 876cdab5cf7..ac016b9565b 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -12,6 +12,7 @@ jetty-7.2.1-SNAPSHOT + 328988 Idle saving of session values + 329180 Spin check for Selector to stop + 329410 Enforce XmlConfiguration properties as Map + + 329642 Concurrent modification exception in Deployment Manager + JETTY-748 Prevent race close of socket by old acceptor threads + JETTY-1291 Extract query parameters even if POST content consumed + JETTY-1295 Contexts mixed up when hot-deploying on virtual hosts 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 9c136a6a29e..c2eee61184a 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 @@ -24,6 +24,8 @@ 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; import org.eclipse.jetty.deploy.bindings.StandardDeployer; import org.eclipse.jetty.deploy.bindings.StandardStarter; @@ -110,7 +112,7 @@ public class DeploymentManager extends AbstractLifeCycle private final List _providers = new ArrayList(); private final AppLifeCycle _lifecycle = new AppLifeCycle(); - private final List _apps = new LinkedList(); + private final Queue _apps = new ConcurrentLinkedQueue(); private AttributesMap _contextAttributes = new AttributesMap(); private ContextHandlerCollection _contexts; private boolean _useStandardBindings = true; @@ -232,25 +234,6 @@ public class DeploymentManager extends AbstractLifeCycle super.doStop(); } - /* - private AppEntry findAppByContextId(String contextId) - { - if (contextId == null) - { - return null; - } - - for (AppEntry entry : _apps) - { - if (contextId.equals(entry.app.getContextId())) - { - return entry; - } - } - return null; - } - */ - private AppEntry findAppByOriginId(String originId) { if (originId == null) @@ -405,7 +388,7 @@ public class DeploymentManager extends AbstractLifeCycle */ public void removeApp(App app) { - ListIterator it = _apps.listIterator(); + Iterator it = _apps.iterator(); while (it.hasNext()) { AppEntry entry = it.next();