I am having classloading issues when I include hibernate JARs in my war. jars
have to be included in the war because the application needs to be able to
select hibernate version freely.
My application uses hibernate to implement JPA.
I have tried to override universal classloader with jboss-web.xml:
<jboss-web>
<context-root>/</context-root>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
org.myapp:loader=hibernatetestclassloader
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
But no success. the error I am experiencing is
java.lang.ClassCastException:
org.hibernate.search.event.FullTextIndexEventListener
I have created a simple test application to recreate the problem.
http://rapidshare.com/files/62738527/myproject-1.0-SNAPSHOT.war.html
Once you have deployed the war, you should be able to go to
http://localhost:8080/myproject-1.0-SNAPSHOT/mainMenu.html or
http://localhost:8080/mainMenu.html
(depending on whether you are using tomcat or jboss)
and see a list of users from app_user database table. app_user should have two
fields, "id" and "username". This war assumes you have MySQL running on
localhost, and have user "root" with password "erofog". Or you may change the
username and password in jdbc.properties in WEB-INF/classes/
You should be able to see whether you get deploy-time classloading errors or
not, even if you don't have a MySQL server at all. So mysql is not really
necessary. If you don't have mysql you will still get some deployment time
errors, but deployment should be successfull and you can access the page and
get something like:
javax.persistence.PersistenceException:
org.hibernate.exception.GenericJDBCException: Cannot open connection
I have tested on
1. tomcat 6.0.14 - works fine
2. JBoss 4.0.3SP1 - works fine
3. JBoss 4.2.1.GA - I get:
anonymous wrote : 18:31:25,093 INFO [Version] Hibernate Validator 3.0.0.GA
| 18:31:25,203 INFO [DefaultListableBeanFactory] Destroying singletons in
org.springframework.beans.f
| [EMAIL PROTECTED]: defi
| ning beans
[transactionManager,userDao,urlMapping,listUsersController,viewResolver,org.springframewo
| rk.orm.jpa.support.PersistenceAnnotationBeanPostProcess
|
or,entityManagerFactory,persistenceUnitManager,propertyConfigurer,dataSource,org.springframework.aop
| .config.internalAutoProxyCreator,controllerTx,org.sprin
| gframework.transaction.aspectj.AnnotationTransactionAspect,txAdvice]; root
of factory hierarchy
| 18:31:25,203 ERROR [DispatcherServlet] Context initialization failed
| org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'org.springfr
| amework.transaction.aspectj.AnnotationTransactionAspect
| ' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]:
Cannot resolve reference to
| bean 'transactionManager' while setting bean property '
| transactionManager'; nested exception is
org.springframework.beans.factory.BeanCreationException: Er
| ror creating bean with name 'transactionManager' define
| d in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Cannot
resolve reference to bean 'en
| tityManagerFactory' while setting bean property 'entity
| ManagerFactory'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
| creating bean with name 'entityManagerFactory' defined
| in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Invocation of
init method failed; nest
| ed exception is java.lang.ClassCastException: org.hiber
| nate.search.event.FullTextIndexEventListener
| Caused by:
| org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'transactionM
| anager' defined in ServletContext resource [/WEB-INF/di
| spatcher-servlet.xml]: Cannot resolve reference to bean
'entityManagerFactory' while setting bean pr
| operty 'entityManagerFactory'; nested exception is org.
| springframework.beans.factory.BeanCreationException: Error creating bean
with name 'entityManagerFac
| tory' defined in ServletContext resource [/WEB-INF/disp
| atcher-servlet.xml]: Invocation of init method failed; nested exception is
java.lang.ClassCastExcept
| ion: org.hibernate.search.event.FullTextIndexEventListe
| ner
| Caused by:
| org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'entityManage
| rFactory' defined in ServletContext resource [/WEB-INF/
| dispatcher-servlet.xml]: Invocation of init method failed; nested exception
is java.lang.ClassCastEx
| ception: org.hibernate.search.event.FullTextIndexEventL
| istener
| Caused by:
| java.lang.ClassCastException:
org.hibernate.search.event.FullTextIndexEventListener
| at
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.jav
| a:856)
| at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730)
|
| at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersi
| stence.java:127)
| at
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityMana
| gerFactory(LocalContainerEntityManagerFactoryBean.java:
| 218)
| at
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractE
| ntityManagerFactoryBean.java:251)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMe
| thods(AbstractAutowireCapableBeanFactory.java:1201)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBe
| an(AbstractAutowireCapableBeanFactory.java:1171)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(A
| bstractAutowireCapableBeanFactory.java:425)
| at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFac
| tory.java:251)
| at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(Defau
| ltSingletonBeanRegistry.java:156)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:248)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:160)
| at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(Be
| anDefinitionValueResolver.java:261)
| at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNeces
| sary(BeanDefinitionValueResolver.java:109)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropert
| yValues(AbstractAutowireCapableBeanFactory.java:1099)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean
| (AbstractAutowireCapableBeanFactory.java:861)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(A
| bstractAutowireCapableBeanFactory.java:421)
| at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFac
| tory.java:251)
| at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(Defau
| ltSingletonBeanRegistry.java:156)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:248)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:160)
| at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(Be
| anDefinitionValueResolver.java:261)
| at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNeces
| sary(BeanDefinitionValueResolver.java:109)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropert
| yValues(AbstractAutowireCapableBeanFactory.java:1099)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean
| (AbstractAutowireCapableBeanFactory.java:861)
| at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(A
| bstractAutowireCapableBeanFactory.java:421)
| at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFac
| tory.java:251)
| at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(Defau
| ltSingletonBeanRegistry.java:156)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:248)
| at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory
| .java:160)
| at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingle
| tons(DefaultListableBeanFactory.java:287)
| at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicatio
| nContext.java:352)
| at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkSer
| vlet.java:331)
| at
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServl
| et.java:265)
| at
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:23
| 5)
| at
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)
| at javax.servlet.GenericServlet.init(GenericServlet.java:212)
| at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
| at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
| at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4069)
| at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4373)
| at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
| at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
| at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
| 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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
| at
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.apache.catalina.core.StandardContext.init(StandardContext.java:5310)
| 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.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
| at
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301
| )
| at
org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
| at
org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
| at org.jboss.web.WebModule.startModule(WebModule.java:83)
| at org.jboss.web.WebModule.startService(WebModule.java:61)
| 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)
| at sun.reflect.GeneratedMethodAccessor9.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.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy45.start(Unknown Source)
| at
org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
| 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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterce
| ptor.java:142)
| at
org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at
org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport
| .java:238)
| at
org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
| at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInt
| erceptorSupport.java:188)
| at
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy46.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor18.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.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterce
| ptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeplo
| ymentScanner.java:263)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploym
| entScanner.java:274)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeployme
| ntScanner.java:225)
| 18:31:25,296 ERROR [[/]] StandardWrapper.Throwable
| org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'org.springfr
| amework.transaction.aspectj.AnnotationTransactionAspect
| ' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]:
Cannot resolve reference to
| bean 'transactionManager' while setting bean property '
| transactionManager'; nested exception is
org.springframework.beans.factory.BeanCreationException: Er
| ror creating bean with name 'transactionManager' define
| d in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Cannot
resolve reference to bean 'en
| tityManagerFactory' while setting bean property 'entity
| ManagerFactory'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
| creating bean with name 'entityManagerFactory' defined
| in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Invocation of
init method failed; nest
| ed exception is java.lang.ClassCastException: org.hiber
| nate.search.event.FullTextIndexEventListener
| Caused by:
Java sources for the classes:
http://rapidshare.com/files/62742397/java.zip.html
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4095303#4095303
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4095303
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user