diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/HotSwapHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/HotSwapHandler.java index 83aa0108dbe..88067396f74 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/HotSwapHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/HotSwapHandler.java @@ -65,10 +65,20 @@ public class HotSwapHandler extends AbstractHandlerContainer try { Server server = getServer(); + if (handler == _handler) + return; + + Handler oldHandler = _handler; if (handler != null) + { handler.setServer(server); - updateBean(_handler, handler, true); + addBean(handler, true); + if (oldHandler != null && oldHandler.isStarted()) + handler.start(); + } _handler = handler; + if (oldHandler != null) + removeBean(oldHandler); } catch (Exception e) {