[Building Sakai] Upgrading Springframework libraries

Stephen Marquard stephen.marquard at uct.ac.za
Sun Sep 28 23:58:02 PDT 2014


Hi Sergio

You should run the 10.x branch of Evaluations with Sakai 10:

https://source.sakaiproject.org/contrib/evaluation/branches/sakai-10.x/

Regards
Stephen

---
Stephen Marquard, Learning Technologies Co-ordinator,
Centre for Innovation in Learning and Teaching (CILT)
University of Cape Town
http://www.cilt.uct.ac.za
stephen.marquard at uct.ac.za<mailto:stephen.marquard at uct.ac.za>
Phone: +27-21-650-5037 Cell: +27-83-500-5290

From: sakai-dev-bounces at collab.sakaiproject.org [mailto:sakai-dev-bounces at collab.sakaiproject.org] On Behalf Of Sergio Muriel
Sent: 27 September 2014 06:53 PM
To: Matthew Jones
Cc: sakai-dev at collab.sakaiproject.org
Subject: Re: [Building Sakai] Upgrading Springframework libraries

Dear Matthew,
we are not considering moving to Sakai version 10 yet because we are still experiencing various issues with this version in our test environment. The reason to know the configuration for a newer version of Spring Framework is because we're having an exception at the time of starting Tomcat after we installed Evaluation System 1.3.

We tried to deploy it with mvn 3.1.1 but we found out that mvn 2.2.1 is the required version for this. We have also tried two different Tomcat versions (7.0.21 and 7.0.55) but we were unsuccessful.

This is the exception we are getting. Thank you very much for any help:


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db.cache.SAKAI_SITE_PROPERTY' defined in file [/opt/sakai/apache-tomcat-7.0.21/components/sakai-kernel-component/WEB-INF/db-components.xml]: Cannot resolve reference to bean 'org.sakaiproject.memory.api.MemoryService.cacheManager' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.memory.api.MemoryService.cacheManager' defined in file [/opt/sakai/apache-tomcat-7.0.21/components/sakai-kernel-component/WEB-INF/memory-components.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException
            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:112)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
            at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:112)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168)
            at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:884)
            at org.sakaiproject.component.impl.SpringCompMgr.get(SpringCompMgr.java:221)
            at org.sakaiproject.component.cover.ComponentManager.get(ComponentManager.java:107)
            at org.sakaiproject.db.cover.SqlService.getInstance(SqlService.java:45)
            at org.sakaiproject.db.cover.SqlService.getVendor(SqlService.java:229)
            at org.sakaiproject.springframework.orm.hibernate.impl.VendorHbmTransformerImpl.loadTransformStream(VendorHbmTransformerImpl.java:79)
            at org.sakaiproject.springframework.orm.hibernate.impl.VendorHbmTransformerImpl.getTransformedMapping(VendorHbmTransformerImpl.java:44)
            at org.sakaiproject.springframework.orm.hibernate.cover.VendorHbmTransformer.getTransformedMapping(VendorHbmTransformer.java:44)
            at org.sakaiproject.springframework.orm.hibernate.impl.AdditionalHibernateMappingsImpl.processConfig(AdditionalHibernateMappingsImpl.java:63)
            at org.sakaiproject.springframework.orm.hibernate.AddableSessionFactoryBean.postProcessConfiguration(AddableSessionFactoryBean.java:78)
            at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:727)
            at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
            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:112)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
            at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
            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:112)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
            at org.sakaiproject.util.NoisierDefaultListableBeanFactory.preInstantiateSingletons(NoisierDefaultListableBeanFactory.java:73)
            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
            at org.sakaiproject.component.impl.SpringCompMgr.init(SpringCompMgr.java:160)
            at org.sakaiproject.component.cover.ComponentManager.getInstance(ComponentManager.java:98)
            at org.sakaiproject.component.cover.ComponentManager.get(ComponentManager.java:107)
            at org.sakaiproject.component.cover.ServerConfigurationService.getInstance(ServerConfigurationService.java:52)
            at org.sakaiproject.component.cover.ServerConfigurationService.getSakaiHomePath(ServerConfigurationService.java:173)
            at org.sakaiproject.util.ToolListener.contextInitialized(ToolListener.java:66)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
            at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
            at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
            at java.util.concurrent.FutureTask.run(FutureTask.java:138)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.memory.api.MemoryService.cacheManager' defined in file [/opt/sakai/apache-tomcat-7.0.21/components/sakai-kernel-component/WEB-INF/memory-components.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
            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:112)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
            at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
            ... 72 more
Caused by: java.lang.reflect.MalformedParameterizedTypeException
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35)
            at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77)
            at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86)
            at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122)
            at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
            at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:82)
            at java.lang.Class.getGenericInterfaces(Class.java:794)
            at org.springframework.core.GenericTypeResolver.getTypeVariableMap(GenericTypeResolver.java:154)
            at org.springframework.core.GenericTypeResolver.resolveParameterType(GenericTypeResolver.java:83)
            at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethodParameter(GenericTypeAwarePropertyDescriptor.java:109)
            at org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:91)
            at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
            at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1289)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1250)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)



Best Regards,
Sergio Muriel

________________________________
From: matthew at longsight.com<mailto:matthew at longsight.com>
Date: Thu, 25 Sep 2014 09:24:08 -0400
Subject: Re: [Building Sakai] Upgrading Springframework libraries
To: sergioame at hotmail.com<mailto:sergioame at hotmail.com>
CC: sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
The Spring 3 changes are not really backward compatible. If you need to use a Spring 3 tool you'll want to upgrade to Sakai 10. It might be technically possible to make all of the changes for Hibernate 3.6 and Spring 3.2 in 2.9, but you'd be changing every tool and really overall be better off just going to Sakai 10 anyway.

https://jira.sakaiproject.org/browse/KNL-517

On Thu, Sep 25, 2014 at 7:44 AM, Sergio Muriel <sergioame at hotmail.com<mailto:sergioame at hotmail.com>> wrote:
Dear All,
does anybody know if it is safe to upgrade the libraries in which some Sakai version depends on?
I'm using Sakai 2.9.2 and I need to upgrade my Springframework libraries from version 2.X (that is a single jar file) to version 3.X (that are a bunch of files). This is my master/pom.xml:

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
                <version>2.5.6.SEC02</version>
            </dependency>

If it is possible, how can I do it?
Thank you so much for your answer.



Best Regards,
Sergio Muriel


_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto: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<mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"

________________________________
UNIVERSITY OF CAPE TOWN

This e-mail is subject to the UCT ICT policies and e-mail disclaimer published on our website at http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from +27 21 650 9111. This e-mail is intended only for the person(s) to whom it is addressed. If the e-mail has reached you in error, please notify the author. If you are not the intended recipient of the e-mail you may not use, disclose, copy, redirect or print the content. If this e-mail is not related to the business of UCT it is sent by the sender in the sender's individual capacity.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140929/2de0a4f4/attachment.html 


More information about the sakai-dev mailing list