Avoid reflection when Tomcat's configuring Context's ClassLoader
Closes gh-30904
This commit is contained in:
@@ -152,10 +152,11 @@ public class TomcatReactiveWebServerFactory extends AbstractReactiveWebServerFac
|
||||
context.setPath("");
|
||||
context.setDocBase(docBase.getAbsolutePath());
|
||||
context.addLifecycleListener(new Tomcat.FixContextListener());
|
||||
context.setParentClassLoader(ClassUtils.getDefaultClassLoader());
|
||||
ClassLoader parentClassLoader = ClassUtils.getDefaultClassLoader();
|
||||
context.setParentClassLoader(parentClassLoader);
|
||||
skipAllTldScanning(context);
|
||||
WebappLoader loader = new WebappLoader();
|
||||
loader.setLoaderClass(TomcatEmbeddedWebappClassLoader.class.getName());
|
||||
loader.setLoaderInstance(new TomcatEmbeddedWebappClassLoader(parentClassLoader));
|
||||
loader.setDelegate(true);
|
||||
context.setLoader(loader);
|
||||
Tomcat.addServlet(context, "httpHandlerServlet", servlet).setAsyncSupported(true);
|
||||
|
||||
@@ -229,8 +229,9 @@ public class TomcatServletWebServerFactory extends AbstractServletWebServerFacto
|
||||
File docBase = (documentRoot != null) ? documentRoot : createTempDir("tomcat-docbase");
|
||||
context.setDocBase(docBase.getAbsolutePath());
|
||||
context.addLifecycleListener(new FixContextListener());
|
||||
context.setParentClassLoader((this.resourceLoader != null) ? this.resourceLoader.getClassLoader()
|
||||
: ClassUtils.getDefaultClassLoader());
|
||||
ClassLoader parentClassLoader = (this.resourceLoader != null) ? this.resourceLoader.getClassLoader()
|
||||
: ClassUtils.getDefaultClassLoader();
|
||||
context.setParentClassLoader(parentClassLoader);
|
||||
resetDefaultLocaleMapping(context);
|
||||
addLocaleMappings(context);
|
||||
try {
|
||||
@@ -241,7 +242,7 @@ public class TomcatServletWebServerFactory extends AbstractServletWebServerFacto
|
||||
}
|
||||
configureTldPatterns(context);
|
||||
WebappLoader loader = new WebappLoader();
|
||||
loader.setLoaderClass(TomcatEmbeddedWebappClassLoader.class.getName());
|
||||
loader.setLoaderInstance(new TomcatEmbeddedWebappClassLoader(parentClassLoader));
|
||||
loader.setDelegate(true);
|
||||
context.setLoader(loader);
|
||||
if (isRegisterDefaultServlet()) {
|
||||
|
||||
Reference in New Issue
Block a user