Hibernate 3 + Spring 3 error on deployment
sebastian.otaegui Jul 10, 2011 8:22 PMHello,
I am trying to make liferay portal run on AS 7 (I am using the latest 7.1.0.Alpha1-SNAPSHOT).
I got around some bumps at the beggining.
liferay requires some dependencies to be "in the lib/ext" so I created a module (through trial and error) and have these two that I needed:
modules/com/liferay/portal/main/module.xml
{code:xml}<module xmlns="urn:jboss:module:1.0" name="com.liferay.portal">
<resources>
<resource-root path="portal-service-6.0.6.jar"/>
<resource-root path="portlet-6.0.6.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.servlet.api"/>
<module name="javax.servlet.jsp.api"/>
</dependencies>
</module>{code}
and also
modules/org/hsqldb/main/module.xml (this is an in memory database driver)
{code:xml}<module xmlns="urn:jboss:module:1.0" name="org.hsqldb">
<resources>
<resource-root path="hsql.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>{code}
Now I am getting this error that seems to be caused by liferay using the hibernate 4 beta1 lib instead of the hibernate3.jar that is in its WEB-INF/lib
{quote}Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liferayHibernateSessionFactory' defined in class path resource [META-INF/hibernate-spring.xml]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) [spring-beans.jar:]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) [spring-beans.jar:]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [spring-beans.jar:]
... 76 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:170) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:137) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:118) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:208) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:85) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.BasicServiceRegistryImpl.configureService(BasicServiceRegistryImpl.java:80) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:143) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:118) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:68) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2251) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2247) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1718) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1756) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860) [spring-orm.jar:]
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779) [spring-orm.jar:]
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) [spring-orm.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) [spring-beans.jar:]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) [spring-beans.jar:]
... 83 more
Caused by: org.hibernate.HibernateException: Could not instantiate connection provider [org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider]
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:190) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:112) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:54) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.BasicServiceRegistryImpl.initiateService(BasicServiceRegistryImpl.java:68) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:160) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
... 100 more
Caused by: java.lang.ClassCastException: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider cannot be cast to org.hibernate.service.jdbc.connections.spi.ConnectionProvider
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:187) [hibernate-core-4.0.0.Beta1.jar:4.0.0.Beta1]
... 104 more{quote}
So if my conclusion is correct, the question is, how do I force my application to "not see" hibernate4 from the server and use the hibernate3 that is provided in the WEB-INF/lib
I am attaching the full server log.
Thanks in advance
PS: The same exact error is obtained in CR1
-
server.log.zip 5.2 KB