Hi, Eric.
Try to add to Tomcat’s JVM_OPTS following directives, please:
--add-exports java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports java.base/sun.nio.ch=ALL-UNNAMED
--add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-modules java.xml.bind
> On 2 Apr 2018, at 21:38, Eric Ham <[email protected]> wrote:
>
> Hello,
>
> From the suggestion on my other thread to try a newer Tomcat, I decided to
> spin up Tomcat 8.5.29 with Oracle JDK 9.0.4. I'm attempting to use web
> session clustering based on the following pages [1] and [2] as I saw the
> 2.4.0 release notes say Java 9 is now supported. I copied the following jars
> over for Tomcat to load:
>
> ignite-core-2.4.0.jar
> ignite-log4j-2.4.0.jar
> ignite-spring-2.4.0.jar
> ignite-web-2.4.0.jar
>
> However, when I startup Tomcat I get the following error messages (listed
> below) in the localhost.2018-04-02.log file. The following 2 lines:
>
> Caused by: java.lang.RuntimeException: jdk.internal.misc.JavaNioAccess class
> is unavailable.
> Caused by: java.lang.IllegalAccessException: class
> org.apache.ignite.internal.util.GridUnsafe cannot access class
> jdk.internal.misc.SharedSecrets (in module java.base) because module
> java.base does not export jdk.internal.misc to unnamed module @464a014c
>
> seem related to [3] IGNITE-7352, which says that it should be fixed in 2.4.0
> to support Java 9.
>
> Either I'm missing a step or the 7352 fix didn't make it over? Please let me
> know what additional information I can provide to help resolve this.
>
> Regards,
> -Eric
>
> [1]
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/startup/servlet/ServletStartup.html
>
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/startup/servlet/ServletStartup.html>
>
> [2] https://apacheignite-mix.readme.io/docs/web-session-clustering
> <https://apacheignite-mix.readme.io/docs/web-session-clustering>
>
> [3] https://issues.apache.org/jira/browse/IGNITE-7352
> <https://issues.apache.org/jira/browse/IGNITE-7352>
>
> 02-Apr-2018 11:27:55.914 INFO [localhost-startStop-1]
> org.apache.catalina.core.ApplicationContext.log No Spring
> WebApplicationInitializer types detected on classpath
> 02-Apr-2018 11:27:56.739 SEVERE [localhost-startStop-1]
> org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable
> java.lang.ExceptionInInitializerError
> at
> org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteUtils.java:759)
> at
> org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138)
> at javax.servlet.GenericServlet.init(GenericServlet.java:158)
> at
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4939)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5249)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
> at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
> at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
> at java.base/java.lang.Thread.run(Thread.java:844)
> Caused by: java.lang.RuntimeException: jdk.internal.misc.JavaNioAccess class
> is unavailable.
> at
> org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1459)
> at
> org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsafe.java:118)
> ... 19 more
> Caused by: java.lang.IllegalAccessException: class
> org.apache.ignite.internal.util.GridUnsafe cannot access class
> jdk.internal.misc.SharedSecrets (in module java.base) because module
> java.base does not export jdk.internal.misc to unnamed module @464a014c
> at
> java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
> at
> java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:589)
> at java.base/java.lang.reflect.Method.invoke(Method.java:556)
> at
> org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1456)
> ... 20 more
>
> 02-Apr-2018 11:27:56.740 SEVERE [localhost-startStop-1]
> org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Ignite] in
> web application [/base] threw load() exception
> java.lang.IllegalAccessException: class
> org.apache.ignite.internal.util.GridUnsafe cannot access class
> jdk.internal.misc.SharedSecrets (in module java.base) because module
> java.base does not export jdk.internal.misc to unnamed module @464a014c
> at
> java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
> at
> java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:589)
> at java.base/java.lang.reflect.Method.invoke(Method.java:556)
> at
> org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1456)
> at
> org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsafe.java:118)
> at
> org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteUtils.java:759)
> at
> org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138)
> at javax.servlet.GenericServlet.init(GenericServlet.java:158)
> at
> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4939)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5249)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
> at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
> at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
> at java.base/java.lang.Thread.run(Thread.java:844)
>