diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/component/ContainerLifeCycle.java b/jetty-util/src/main/java/org/eclipse/jetty/util/component/ContainerLifeCycle.java index 139b7d90895..a17cf87e3a8 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/component/ContainerLifeCycle.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/component/ContainerLifeCycle.java @@ -106,18 +106,20 @@ public class ContainerLifeCycle extends AbstractLifeCycle implements Container, switch (b._managed) { case MANAGED: - if (!l.isRunning()) + if (l.isStopped()) start(l); break; case AUTO: - if (l.isRunning()) - unmanage(b); - else + if (l.isStopped()) { manage(b); start(l); } + else + { + unmanage(b); + } break; default: @@ -142,7 +144,7 @@ public class ContainerLifeCycle extends AbstractLifeCycle implements Container, { try { - l.stop(); + stop(l); } catch (Throwable cause2) {