This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new 65aec2a Add a few GraalVM cleanups 65aec2a is described below commit 65aec2ac7fb4980694291e66efd360195dfa8d73 Author: remm <r...@apache.org> AuthorDate: Thu Jul 4 23:03:50 2019 +0200 Add a few GraalVM cleanups More importantly default CL to delegate with a native image. --- java/org/apache/catalina/core/StandardContext.java | 5 ++++- java/org/apache/catalina/loader/ParallelWebappClassLoader.java | 7 ++++--- java/org/apache/catalina/loader/WebappLoader.java | 6 +++++- webapps/docs/changelog.xml | 7 +++++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java index 975b81e..a3f03fc 100644 --- a/java/org/apache/catalina/core/StandardContext.java +++ b/java/org/apache/catalina/core/StandardContext.java @@ -116,6 +116,7 @@ import org.apache.tomcat.JarScanner; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.IntrospectionUtils; import org.apache.tomcat.util.buf.StringUtils; +import org.apache.tomcat.util.compat.JreCompat; import org.apache.tomcat.util.descriptor.XmlIdentifiers; import org.apache.tomcat.util.descriptor.web.ApplicationParameter; import org.apache.tomcat.util.descriptor.web.ErrorPage; @@ -329,8 +330,10 @@ public class StandardContext extends ContainerBase /** * The "follow standard delegation model" flag that will be used to * configure our ClassLoader. + * Graal cannot actually load a class from the webapp classloader, + * so delegate by default. */ - private boolean delegate = false; + private boolean delegate = JreCompat.isGraalAvailable(); private boolean denyUncoveredHttpMethods; diff --git a/java/org/apache/catalina/loader/ParallelWebappClassLoader.java b/java/org/apache/catalina/loader/ParallelWebappClassLoader.java index a71d26d..9f6b469 100644 --- a/java/org/apache/catalina/loader/ParallelWebappClassLoader.java +++ b/java/org/apache/catalina/loader/ParallelWebappClassLoader.java @@ -26,9 +26,10 @@ public class ParallelWebappClassLoader extends WebappClassLoaderBase { private static final Log log = LogFactory.getLog(ParallelWebappClassLoader.class); static { - boolean result = !JreCompat.isGraalAvailable() && ClassLoader.registerAsParallelCapable(); - if (!result) { - log.warn(sm.getString("webappClassLoaderParallel.registrationFailed")); + if (!JreCompat.isGraalAvailable()) { + if (!ClassLoader.registerAsParallelCapable()) { + log.warn(sm.getString("webappClassLoaderParallel.registrationFailed")); + } } } diff --git a/java/org/apache/catalina/loader/WebappLoader.java b/java/org/apache/catalina/loader/WebappLoader.java index 0080778..d967e15 100644 --- a/java/org/apache/catalina/loader/WebappLoader.java +++ b/java/org/apache/catalina/loader/WebappLoader.java @@ -40,6 +40,7 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.buf.UDecoder; +import org.apache.tomcat.util.compat.JreCompat; import org.apache.tomcat.util.modeler.Registry; import org.apache.tomcat.util.res.StringManager; @@ -624,7 +625,10 @@ public class WebappLoader extends LifecycleMBeanBase } return false; } else { - log.info(sm.getString("webappLoader.unknownClassLoader", loader, loader.getClass())); + // Ignore Graal "unknown" classloader + if (!JreCompat.isGraalAvailable()) { + log.info(sm.getString("webappLoader.unknownClassLoader", loader, loader.getClass())); + } return false; } return true; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 7adb842..d0062c5 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -45,6 +45,13 @@ issues do not "pop up" wrt. others). --> <section name="Tomcat 9.0.23 (markt)" rtext="in development"> + <subsection name="Other"> + <changelog> + <fix> + Improvements and workarounds for GraalVM native images. (remm) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 9.0.22 (markt)" rtext="release in progress"> <subsection name="Catalina"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org