[
https://issues.jboss.org/browse/ISPN-3496?page=com.atlassian.jira.plugin....
]
Galder Zamarreño commented on ISPN-3496:
----------------------------------------
Indeed, this is a classloading issue. The Infinispan classes provided by EAP and the
Infinispan classes in the WAR deployment are getting messed up to lead to a CCE caused by
different classloaders. This particular issue might be fixable, but there's a whole
host of other issues that could surface. The question is: is this something we really want
to be fixing? What is the problem with JDG Helloworld quickstart piggy backing on the
provided Infinispan JAR by EAP? I'd expect that to work without problems.
Infinispan library breaks Hibernate 2LC with
java.lang.ClassCastException: org.infinispan.remoting.ReplicationQueueImpl cannot be cast
to org.infinispan.remoting.ReplicationQueue
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: ISPN-3496
URL:
https://issues.jboss.org/browse/ISPN-3496
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.2.1.Final
Environment: EAP 6.1.0 and 6.1.1. This is a regression since EAP 6.0.1
Reporter: Martin Gencur
Assignee: Galder Zamarreño
Priority: Critical
Labels: jdg62blocker
Fix For: 6.0.0.Beta2
A WAR deployment containing its own infinispan (such as JDG helloworld quickstart) and
also having persistence.xml with second level cache enabled fails to deploy on EAP 6.1 HA
configuration (standalone-ha.xml or standalone-full-ha.xml)
Version-Release number of selected component (if applicable):
EAP 6.1.0, EAP 6.1.1.ER4.
Note: This does not happen with EAP 6.0.1 so it's a regression.
Steps to Reproduce:
1. Get JDG 6.1 helloworld-jdg quickstart (or see the attachment)
2. Add persistence.xml with 2lc, e.g.:
{code}
<?xml version="1.0" encoding="UTF-8"?>
<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="entityManager">
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto"
value="create-drop"/>
<property name="hibernate.cache.use_second_level_cache"
value="true"/>
<property name="hibernate.cache.use_query_cache"
value="true"/>
</properties>
</persistence-unit>
</persistence>
{code}
3. deploy the helloworld-jdg on standalone-ha.xml or standalone-full-ha.xml configuration
of EAP 6.1.
This happens also when standalone.xml file is used to start EAP.
The resulting error:
{code}
10:26:20,759 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 53)
MSC000001: Failed to start service
jboss.persistenceunit."jboss-as-helloworld-jdg.war#entityManager":
org.jboss.msc.service.StartException in service
jboss.persistenceunit."jboss-as-helloworld-jdg.war#entityManager":
javax.persistence.PersistenceException: [PersistenceUnit: entityManager] Unable to build
EntityManagerFactory
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:103)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
[jboss-threads-2.1.0.Final-redhat-1.jar:2.1.0.Final-redhat-1]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: entityManager]
Unable to build EntityManagerFactory
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:930)
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:92)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:200)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$600(PersistenceUnitServiceImpl.java:57)
at
org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:99)
... 4 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service
[org.hibernate.engine.spi.CacheImplementor]
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:264)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1762)
at
org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:920)
... 9 more
Caused by: org.hibernate.cache.CacheException: Unable to start region factory
at
org.hibernate.cache.infinispan.InfinispanRegionFactory.start(InfinispanRegionFactory.java:323)
at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:70)
at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:40)
at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:35)
at
org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176)
... 15 more
Caused by: java.lang.ClassCastException: org.infinispan.remoting.ReplicationQueueImpl
cannot be cast to org.infinispan.remoting.ReplicationQueue
at
org.infinispan.configuration.cache.LegacyConfigurationAdaptor.adapt(LegacyConfigurationAdaptor.java:306)
at
org.infinispan.manager.DefaultCacheManager.defineConfiguration(DefaultCacheManager.java:468)
at
org.infinispan.manager.DefaultCacheManager.defineConfiguration(DefaultCacheManager.java:443)
at
org.jboss.as.clustering.infinispan.DefaultEmbeddedCacheManager.defineConfiguration(DefaultEmbeddedCacheManager.java:77)
at
org.hibernate.cache.infinispan.InfinispanRegionFactory.defineGenericDataTypeCacheConfigurations(InfinispanRegionFactory.java:492)
at
org.hibernate.cache.infinispan.InfinispanRegionFactory.start(InfinispanRegionFactory.java:318)
... 20 more
10:26:20,968 ERROR [org.jboss.as.server] (management-handler-thread - 4) JBAS015870:
Deploy of deployment "jboss-as-helloworld-jdg.war" was rolled back with the
following failure message:
{"JBAS014671: Failed services" =>
{"jboss.persistenceunit.\"jboss-as-helloworld-jdg.war#entityManager\""
=> "org.jboss.msc.service.StartException in service
jboss.persistenceunit.\"jboss-as-helloworld-jdg.war#entityManager\":
javax.persistence.PersistenceException: [PersistenceUnit: entityManager] Unable to build
EntityManagerFactory
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: entityManager]
Unable to build EntityManagerFactory
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested
service [org.hibernate.engine.spi.CacheImplementor]
Caused by: org.hibernate.cache.CacheException: Unable to start region factory
Caused by: java.lang.ClassCastException: org.infinispan.remoting.ReplicationQueueImpl
cannot be cast to org.infinispan.remoting.ReplicationQueue"}}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira