Bug 1225003 - JpaConfigurationIT fails on EAP with JDG modules
Summary: JpaConfigurationIT fails on EAP with JDG modules
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: TestSuite
Version: 6.5.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ER4
: 6.6.0
Assignee: Martin Gencur
QA Contact: Martin Gencur
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-26 11:59 UTC by Vojtech Juranek
Modified: 2025-02-10 03:47 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-10 03:47:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker ISPN-6010 0 Major Resolved JPA cache store uses wrong class loader to load entities 2016-03-02 13:26:17 UTC

Description Vojtech Juranek 2015-05-26 11:59:44 UTC
Fails with ClassNotFoundException: org.infinispan.persistence.jpa.entity.Vehicle

Caused by: java.lang.ClassNotFoundException: org.infinispan.persistence.jpa.entity.Vehicle from [Module "org.infinispan.persistence.jpa:jdg-6.5"

Full stack trace:

"org.infinispan.commons.CacheConfigurationException: javax.xml.stream.XMLStreamException: Class org.infinispan.persistence.jpa.entity.Vehicle specified in entityClassName is not found
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:94)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:271)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:244)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:231)
	at org.infinispan.persistence.jpa.JpaConfigurationTest.testXmlConfig60(JpaConfigurationTest.java:75)
	at com.jboss.datagrid.test.jpastore.JpaConfigurationWrapperIT.testXmlConfig(JpaConfigurationWrapperIT.java:22)
	at org.jboss.arquillian.testng.Arquillian$2.invoke(Arquillian.java:167)
	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
	at org.jboss.arquillian.container.test.impl.execution.ContainerTestExecuter.execute(ContainerTestExecuter.java:38)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
	at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
	at org.jboss.arquillian.testng.Arquillian.run(Arquillian.java:158)
	at org.jboss.arquillian.testng.container.TestNGTestRunner.execute(TestNGTestRunner.java:53)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:160)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:126)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:90)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.stream.XMLStreamException: Class org.infinispan.persistence.jpa.entity.Vehicle specified in entityClassName is not found
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.parseJpaCacheStore(JpaStoreConfigurationParser60.java:54)
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.readElement(JpaStoreConfigurationParser60.java:32)
	at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:133)
	at org.infinispan.configuration.parsing.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:37)
	at org.infinispan.configuration.parsing.Parser62.parsePersistence(Parser62.java:649)
	at org.infinispan.configuration.parsing.Parser62.parseCache(Parser62.java:160)
	at org.infinispan.configuration.parsing.Parser62.parseNamedCache(Parser62.java:119)
	at org.infinispan.configuration.parsing.Parser62.readElement(Parser62.java:86)
	at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:133)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:115)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:102)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:89)
	... 97 more
Caused by: java.lang.ClassNotFoundException: org.infinispan.persistence.jpa.entity.Vehicle from [Module "org.infinispan.persistence.jpa:jdg-6.5" from local module loader @5737be7 (finder: local module finder @60cb7d7c (roots: /mnt/hudson_workspace/workspace/jdg-func-invm-in-different-containers/be9e94da/eap-server/eap64-0/modules,/mnt/hudson_workspace/workspace/jdg-func-invm-in-different-containers/be9e94da/eap-server/eap64-0/modules/system/layers/base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.parseJpaCacheStore(JpaStoreConfigurationParser60.java:52)
	... 108 more
... Removed 47 stack frames
 org.infinispan.commons.CacheConfigurationException: javax.xml.stream.XMLStreamException: Class org.infinispan.persistence.jpa.entity.Vehicle specified in entityClassName is not found
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:94)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:271)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:244)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:231)
	at org.infinispan.persistence.jpa.JpaConfigurationTest.testXmlConfig60(JpaConfigurationTest.java:75)
	at com.jboss.datagrid.test.jpastore.JpaConfigurationWrapperIT.testXmlConfig(JpaConfigurationWrapperIT.java:22)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:182)
	at org.jboss.arquillian.testng.Arquillian$2.invoke(Arquillian.java:167)
	at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
	at org.jboss.arquillian.container.test.impl.execution.ContainerTestExecuter.execute(ContainerTestExecuter.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
	at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
	at org.jboss.arquillian.testng.Arquillian.run(Arquillian.java:158)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:194)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:707)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
	at org.testng.SuiteRunner.run(SuiteRunner.java:240)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1123)
	at org.testng.TestNG.run(TestNG.java:1031)
	at org.jboss.arquillian.testng.container.TestNGTestRunner.execute(TestNGTestRunner.java:53)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:160)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:126)
	at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:90)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.stream.XMLStreamException: Class org.infinispan.persistence.jpa.entity.Vehicle specified in entityClassName is not found
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.parseJpaCacheStore(JpaStoreConfigurationParser60.java:54)
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.readElement(JpaStoreConfigurationParser60.java:32)
	at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:133)
	at org.infinispan.configuration.parsing.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:37)
	at org.infinispan.configuration.parsing.Parser62.parsePersistence(Parser62.java:649)
	at org.infinispan.configuration.parsing.Parser62.parseCache(Parser62.java:160)
	at org.infinispan.configuration.parsing.Parser62.parseNamedCache(Parser62.java:119)
	at org.infinispan.configuration.parsing.Parser62.readElement(Parser62.java:86)
	at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:133)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:115)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:102)
	at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:89)
	... 97 more
Caused by: java.lang.ClassNotFoundException: org.infinispan.persistence.jpa.entity.Vehicle from [Module "org.infinispan.persistence.jpa:jdg-6.5" from local module loader @5737be7 (finder: local module finder @60cb7d7c (roots: /mnt/hudson_workspace/workspace/jdg-func-invm-in-different-containers/be9e94da/eap-server/eap64-0/modules,/mnt/hudson_workspace/workspace/jdg-func-invm-in-different-containers/be9e94da/eap-server/eap64-0/modules/system/layers/base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
	at org.infinispan.persistence.jpa.configuration.JpaStoreConfigurationParser60.parseJpaCacheStore(JpaStoreConfigurationParser60.java:52)
	... 108 more

Comment 2 Vojtech Juranek 2015-05-26 12:32:42 UTC
According to Vitalii, it's similar (can be fixed in a similar way) to BZ #1222809

Comment 3 Vitalii Chepeliuk 2015-09-17 08:13:52 UTC
(In reply to Vojtech Juranek from comment #2)
> According to Vitalii, it's similar (can be fixed in a similar way) to BZ
> #1222809

I tried to fix it in similar way but it is not possible as this tests uses xml configuration. So at this stage do not know how to fix it. Needs further discussion

Comment 4 Martin Gencur 2015-12-01 17:38:02 UTC
JpaStoreConfigurationParser60 is unable to see entity classes from the deployment bacause it is loaded as a service by infinispan-cachestore-jpa module's classloader and it tries to use the same classloader to load the entity classes. There's no way to pass the application classloader to the parser in order to use it for loading entities. Looks like the only way is to create a specific module with entity classes and make it a dependency of infinispan-cachestore-jpa module.

Comment 5 Martin Gencur 2015-12-03 16:26:31 UTC
I was wrong. And the class loader being used by JPA config parser as well:)

Linking upstream JIRA with solution.

Comment 8 Red Hat Bugzilla 2025-02-10 03:47:40 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.