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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In