[Building Sakai] Startup throwing ClassNotFoundException

Zach A. Thomas zach.thomas at gmail.com
Wed May 15 10:08:03 PDT 2013


Hello, Nguni.

This is caused by org.apache.commons.dbcp.DelegatingConnection and org.apache.commons.dbcp.SakaiPoolableConnectionFactory being loaded by two separate class loaders.

The most likely cause of that is that you have deployed more than one copy of either the sakai-kernel-api jar or the commons-dbcp jar. Try searching through the contents of your tomcat home to see if you can find the duplicate.

regards,
Zach
On May 15, 2013, at 2:10 AM, Nguni Phakela <nguni52 at gmail.com> wrote:

> Hi All,
> 
> When restarting SAKAI on our dev and QA servers, we ran into this problem. We  just rebuilt the dev server and everything seems ok. But we don't want to do that for QA or the LIVE server, if ever this error occurs. How do we resolve this?
> 
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.springframework.orm.hibernate.GlobalSessionFactory' defined in file [/opt/apache-tomcat-5.5.34/components/sakai-kernel-component/WEB-INF/db-components.xml]: Cannot resolve reference to bean 'javax.sql.LazyDataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'javax.sql.LazyDataSource' defined in file [/opt/apache-tomcat-5.5.34/components/sakai-kernel-component/WEB-INF/db-components.xml]: Invocation of init method failed; nested exception is java.lang.IllegalAccessError: tried to access method org.apache.commons.dbcp.DelegatingConnection.passivate()V from class org.apache.commons.dbcp.SakaiPoolableConnectionFactory
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>         at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:114)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
>         ... 46 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'javax.sql.LazyDataSource' defined in file [/opt/apache-tomcat-5.5.34/components/sakai-kernel-component/WEB-INF/db-components.xml]: Invocation of init method failed; nested exception is java.lang.IllegalAccessError: tried to access method org.apache.commons.dbcp.DelegatingConnection.passivate()V from class org.apache.commons.dbcp.SakaiPoolableConnectionFactory
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>         at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:114)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
>         ... 60 more
> Caused by: java.lang.IllegalAccessError: tried to access method org.apache.commons.dbcp.DelegatingConnection.passivate()V from class org.apache.commons.dbcp.SakaiPoolableConnectionFactory
>         at org.apache.commons.dbcp.SakaiPoolableConnectionFactory.passivateObject(SakaiPoolableConnectionFactory.java:251)
>         at org.apache.commons.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1379)
>         at org.apache.commons.pool.impl.GenericObjectPool.addObject(GenericObjectPool.java:1620)
>         at org.apache.commons.dbcp.SakaiBasicDataSource.createDataSource(SakaiBasicDataSource.java:246)
>                                                                                                                                                                                    81914,2-9     99%
> 
> 
> Cheers,
> -- 
> Nguni Phakela
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"



More information about the sakai-dev mailing list