You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2019/07/04 21:03:58 UTC
[tomcat] branch master updated: Add a few GraalVM cleanups
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 <re...@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org