"java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence" when packaging Hibernate into EAR
Issue
I have an ear containing library that fall in conflict with the same libraries inside Jboss (hibernate-entitymanager-3.4.0.GA, hibernate-search-3.1.1.GA, hibernate-validator-3.1.0.GA)
I think what is going on is that the same classes are being loaded by different class loaders leading to ClassCastExceptions.
java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence
at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:245)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417) ...
java.lang.ClassCastException: org.jboss.ejb3.stateless.StatelessContainer
at org.jboss.ejb3.security.AuthenticationInterceptorFactory.createPerClass(AuthenticationInterceptorFactory.java:44)
at org.jboss.aop.advice.AspectFactoryDelegator.createPerClass(AspectFactoryDelegator.java:107)
at org.jboss.aop.Advisor.addPerClassAspect(Advisor.java:569)
at org.jboss.aop.advice.ScopedInterceptorFactory.create(ScopedInterceptorFactory.java:72)
at org.jboss.aop.Advisor.createInterceptorChain(Advisor.java:618)
at org.jboss.aop.Advisor.pointcutResolved(Advisor.java:888)
at org.jboss.aop.Advisor.resolveMethodPointcut(Advisor.java:650)
at org.jboss.aop.ClassContainer.createInterceptorChains(ClassContainer.java:248)
at org.jboss.aop.ClassContainer.rebuildInterceptors(ClassContainer.java:115)
at org.jboss.aop.ClassContainer.initializeClassContainer(ClassContainer.java:58)
at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:342)
at org.jboss.ejb3.SessionContainer.processMetadata(SessionContainer.java:140)
at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:293)
at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:357)
at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:83)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417) ...
Environment
- JBoss Enterprise Application Platform (EAP) 4.3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.