[Building Sakai] Upgrading Springframework libraries

Sergio Muriel sergioame at hotmail.com
Sat Sep 27 09:52:51 PDT 2014


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 moreCaused 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
Date: Thu, 25 Sep 2014 09:24:08 -0400
Subject: Re: [Building Sakai] Upgrading Springframework libraries
To: sergioame at hotmail.com
CC: 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> 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

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"

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


More information about the sakai-dev mailing list