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 e6c8f8a Use the Graal API e6c8f8a is described below commit e6c8f8ac932750f05a767084b85b11b4b8a5f490 Author: remm <r...@apache.org> AuthorDate: Tue May 7 21:00:01 2019 +0200 Use the Graal API Also update instructions. --- java/org/apache/tomcat/util/compat/GraalCompat.java | 12 ++++++++++-- res/tomcat-maven/README.md | 8 +++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/java/org/apache/tomcat/util/compat/GraalCompat.java b/java/org/apache/tomcat/util/compat/GraalCompat.java index f6a7fce..f6636c7 100644 --- a/java/org/apache/tomcat/util/compat/GraalCompat.java +++ b/java/org/apache/tomcat/util/compat/GraalCompat.java @@ -23,8 +23,16 @@ class GraalCompat extends JreCompat { private static final boolean GRAAL; static { - String runtime = System.getProperty("java.runtime.version"); - GRAAL = (runtime != null && (runtime.indexOf(".buildslave.jdk8u") != -1)); + boolean result = false; + try { + Class<?> nativeImageClazz = Class.forName("org.graalvm.nativeimage"); + result = (nativeImageClazz.getMethod("inImageCode").invoke(null) == Boolean.TRUE); + } catch (ClassNotFoundException e) { + // Must be Java 8 + } catch (ReflectiveOperationException | IllegalArgumentException e) { + // Should never happen + } + GRAAL = result; } diff --git a/res/tomcat-maven/README.md b/res/tomcat-maven/README.md index 12389a2..095c3fd 100644 --- a/res/tomcat-maven/README.md +++ b/res/tomcat-maven/README.md @@ -96,7 +96,9 @@ Then exercise necessary paths of your service with the Tomcat configuration. Generate the final json using native-image-configuration then use native image using the generated reflection metadata. ``` -cd target -$JAVA_HOME/jre/tools/native-image-configure/native-image-configure generate --trace-input=trace-file.json --output-dir=. -$JAVA_HOME/bin/native-image -H:+ReportUnsupportedElementsAtRuntime -H:ConfigurationFileDirectories=./ -H:ReflectionConfigurationFiles=../tomcat-reflection.json -jar tomcat-maven-1.0.jar +$JAVA_HOME/jre/tools/native-image-configure/native-image-configure generate --trace-input=./target/trace-file.json --output-dir=./target +$JAVA_HOME/bin/native-image -H:+ReportUnsupportedElementsAtRuntime -H:ConfigurationFileDirectories=./target/ -H:ReflectionConfigurationFiles=./tomcat-reflection.json -jar target/tomcat-maven-1.0.jar +./tomcat-maven-1.0 -Dcatalina.base=. -Djava.util.logging.config.file=conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager ``` +Note: -H:ConfigurationFileDirectories does not appear to work properly, so it could be needed to add the content of reflect-config.json + to tomcat-reflection.json. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org