From 4c1cf7de64acd59ebd13ca935adfca17c3a46502 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Wed, 14 Jun 2023 11:41:24 +1000 Subject: [PATCH] PR #9878 - fixes for test failures Signed-off-by: Lachlan Roberts --- .../org/eclipse/jetty/ee9/nested/ContextHandler.java | 12 +++--------- .../org/eclipse/jetty/ee9/webapp/WebAppContext.java | 5 +++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java index 0260a15f30a..20d4fe6dc4c 100644 --- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java +++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java @@ -610,16 +610,13 @@ public class ContextHandler extends ScopedHandler implements Attributes, Supplie { throw new RuntimeException(e); } - finally - { - _coreContextHandler.removeEventListener(this); - } } @Override public void lifeCycleStarted(LifeCycle event) { _coreContextHandler.manage(this); + _coreContextHandler.removeEventListener(this); } }); @@ -669,16 +666,13 @@ public class ContextHandler extends ScopedHandler implements Attributes, Supplie { throw new RuntimeException(e); } - finally - { - _coreContextHandler.removeEventListener(this); - } } @Override public void lifeCycleStopped(LifeCycle event) { _coreContextHandler.manage(this); + _coreContextHandler.removeEventListener(this); } }); @@ -879,7 +873,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Supplie else context.call(() -> nextScope(target, baseRequest, request, response), baseRequest.getCoreRequest()); } - catch (IOException | ServletException e) + catch (IOException | ServletException | RuntimeException e) { throw e; } diff --git a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java index 18e419f8996..5c27ba9d6e7 100644 --- a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java +++ b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java @@ -503,6 +503,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL @Override protected void doStart() throws Exception { + ClassLoader old = Thread.currentThread().getContextClassLoader(); try { _metadata.setAllowDuplicateFragmentNames(isAllowDuplicateFragmentNames()); @@ -526,6 +527,10 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL if (isThrowUnavailableOnStartupException()) throw t; } + finally + { + Thread.currentThread().setContextClassLoader(old); + } } private void wrapConfigurations()