Changes for Java9 causes issues for the RHDG modules added to EAP

Solution Verified - Updated -

Issue

  • If my legacy application (which uses the HotRod remote modules for EAP) is deployed on EAP 7.2 the deployment failed with the following Exception
WARN  [org.jboss.modules.define] (MSC service thread 1-3) Failed to define class org.infinispan.client.hotrod.configuration.ConfigurationBuilder in Module "org.infinispan.client.hotrod:jdg-7.2" version 8.5.0.Final-redhat-9 from local module loader @79b4d0f (finder: local module finder @6b2fad11 (roots: /srv/eap/7.2.0/jdgModuleTest/modules,/srv/eap/7.2.0/jdgModuleTest/modules/system/layers/base)): org.jboss.modules.ModuleLoadError: org.apache.commons.pool
    at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:74)
    ...
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."HotRodClientWebApp-war.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."HotRodClientWebApp-war.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "HotRodClientWebApp-war.war"
    ...
Caused by: org.jboss.modules.ModuleLoadError: org.apache.commons.pool
    ...
  • If RHDG modules with version 7.3.0 are used for applications deployed at legacy EAP servers (<EAP 7.2) the application will fail at runtime with errors like followed
Caused by: org.jboss.modules.ModuleLoadError: jdk.unsupported
    at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:74)
    at org.jboss.modules.Module.getPathsUnchecked(Module.java:1560)
    at org.jboss.modules.Module.loadModuleClass(Module.java:709)
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:358)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:437)
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
    at org.jboss.modules.Module.loadModuleClass(Module.java:714)
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167)
    at java.base/java.lang.Class.privateGetPublicMethods(Class.java:3192)
    at java.base/java.lang.Class.getMethods(Class.java:1905)
    at org.infinispan.commons:jdg-7.3//org.infinispan.commons.util.Util.getFactoryMethod(Util.java:212)
    at org.infinispan.commons:jdg-7.3//org.infinispan.commons.util.Util.getInstanceStrict(Util.java:249)
    at org.infinispan.commons:jdg-7.3//org.infinispan.commons.util.Util.getInstance(Util.java:230)
    at org.infinispan.client.hotrod:jdg-7.3//org.infinispan.client.hotrod.RemoteCacheManager.start(RemoteCacheManager.java:282)
    at org.infinispan.client.hotrod:jdg-7.3//org.infinispan.client.hotrod.RemoteCacheManager.<init>(RemoteCacheManager.java:134)
    at org.infinispan.client.hotrod:jdg-7.3//org.infinispan.client.hotrod.RemoteCacheManager.<init>(RemoteCacheManager.java:117)
    at deployment.HotRodClientWebApp-war.war//org.infinispan.wfink.web.RemoteCacheManagerProvider.getCacheManager(RemoteCacheManagerProvider.java:50)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.jboss.weld.core//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
    ... 106 more

Environment

  • Red Hat Data Grid (RHDG)
    • 7
  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content