Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
5.3.0.Final
-
None
Description
When application with infinispan-5.3.0 is deployed on EAP server(jboss-eap-6.1.0.ER8), exception is thrown
[java] 11:09:08,520 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool – 13) MSC000001: Failed to start service jboss.persistenceunit."testable.war#hib2Lc": org.jboss.msc.service.StartException in service jboss.persistenceunit."testable.war#hib2Lc": javax.persistence.PersistenceException: [PersistenceUnit: hib2Lc] Unable to build EntityManagerFactory
[java] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:103)
[java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_17]
[java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_17]
[java] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
[java] at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.0.Final-redhat-1.jar:2.1.0.Final-redhat-1]
[java] Caused by: javax.persistence.PersistenceException: [PersistenceUnit: hib2Lc] Unable to build EntityManagerFactory
[java] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:930)
[java] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
[java] at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:92)
[java] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:200)
[java] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$600(PersistenceUnitServiceImpl.java:57)
[java] at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:99)
[java] ... 4 more
[java] Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
[java] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186)
[java] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150)
[java] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
[java] at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:264)
[java] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750)
[java] at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
[java] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:920)
[java] ... 9 more
[java] Caused by: org.hibernate.cache.CacheException: Unable to start region factory
[java] at org.hibernate.cache.infinispan.InfinispanRegionFactory.start(InfinispanRegionFactory.java:323)
[java] at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:70)
[java] at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:40)
[java] at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:35)
[java] at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91)
[java] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176)
[java] ... 15 more
[java] Caused by: java.lang.IllegalArgumentException: Root element for infinispan already registered
[java] at org.jboss.staxmapper.XMLMapperImpl.registerRootElement(XMLMapperImpl.java:44) [staxmapper-1.1.0.Final-redhat-2.jar:1.1.0.Final-redhat-2]
[java] at org.infinispan.configuration.parsing.ParserRegistry.<init>(ParserRegistry.java:54)
[java] at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:353)
[java] at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:326)
[java] at org.hibernate.cache.infinispan.InfinispanRegionFactory.createCacheManager(InfinispanRegionFactory.java:387)
[java] at org.hibernate.cache.infinispan.InfinispanRegionFactory.start(InfinispanRegionFactory.java:308)
[java] ... 20 more
[java] 11:09:08,733 ERROR [org.jboss.as.server] (management-handler-thread - 2) JBAS015870: Deploy of deployment "testable.war" was rolled back with the following failure message:
[java] {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"testable.war#hib2Lc\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"testable.war#hib2Lc\": javax.persistence.PersistenceException: [PersistenceUnit: hib2Lc] Unable to build EntityManagerFactory
[java] Caused by: javax.persistence.PersistenceException: [PersistenceUnit: hib2Lc] Unable to build EntityManagerFactory
[java] Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
[java] Caused by: org.hibernate.cache.CacheException: Unable to start region factory
[java] Caused by: java.lang.IllegalArgumentException: Root element for infinispan already registered"}}
WAR file is created by arquillian library and contains
WebArchive war = ShrinkWrap.create(WebArchive.class, "<warName>")
.addPackages(true, new String[]
)
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
.addAsLibraries(
new File("target/test-libs/jboss-marshalling.jar"),
new File("target/test-libs/jboss-marshalling-river.jar"),
new File("target/test-libs/infinispan-core.jar"), << <version.infinispan>5.3.0-SNAPSHOT</version.infinispan>
new File("target/test-libs/hibernate-core.jar"), << <version.hibernate>4.1.6.Final</version.hibernate>
new File("target/test-libs/hibernate-commons-annotations.jar"),
new File("target/test-libs/hibernate-jpa-2.0-api.jar"),
new File("target/test-libs/javassist.jar"),
new File("target/test-libs/jboss-annotations-ejb3.jar"),
new File("target/test-libs/hibernate-infinispan.jar")); << <version.hibernate>4.1.6.Final</version.hibernate>
return war;
Looks like JPA bug. EAP server use its own hibernate4.X library to parse META-INF/persistence.xml file. and If I want to add dependency for newer hibernate version e.g 4.2.2.Final it will still use hibernate module located in EAP modules. So thats why there are 2 parsers to parse the same infinispan.xml file