Skip to main content



      Home
Home » Eclipse Projects » Gemini » Issues with Upgrading Spring version due to osgi-extender
Issues with Upgrading Spring version due to osgi-extender [message #815761] Wed, 07 March 2012 21:20 Go to next message
Eclipse UserFriend
Hi,
Our Project relies on spring and the osgi-extender(org.eclipse.gemini.blueprint).

We were using Spring version 3.0.3.RELEASE and wanted to move to 3.1.0 RELEASE.
After consulting the spring forums(wasnt able to post the link):

Google for "springsource upgrade 3.1.0 from 3.0.3". The first result is the relevant one.

I was successful in ensuring that gemini-blueprint 1.0.0.M1 which has a reference to
SPRING 3.0.3 hardcoded in its pom, was prevented from pulling in 3.0.0 after we had pulled in the newer 3.1.0 jars for SPRING.

Now still our product has difficulty starting which points to gemini-blueprint complaining:
ed Mar 07 15:01:10.426 2012 Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=foo.bar.arsys.messaging, config=bundleentry://109.fwk1211763377/OSGI-INF/blueprint/application_context.xml))
java.lang.NoSuchFieldError: NULL
	at org.eclipse.gemini.blueprint.blueprint.container.SpringBlueprintConverterService.convert(SpringBlueprintConverterService.java:93) ~[bundlefile:1.0.0.M1]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:143) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:92) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:451) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:686) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) ~[bundlefile:3.1.0.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60) ~[bundlefile:1.0.0.M1]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325) ~[bundlefile:1.0.0.M1]
	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290) ~[bundlefile:1.0.0.M1]
	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137) [bundlefile:1.0.0.M1]
	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_24]
Wed Mar 07 15:01:10.472 2012 Unable to create application context for [foo.bar.arsys.messaging], unsatisfied dependencies: none
java.lang.NoSuchFieldError: NULL
	at org.eclipse.gemini.blueprint.blueprint.container.SpringBlueprintConverterService.convert(SpringBlueprintConverterService.java:93) ~[na:na]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:143) ~[na:na]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:92) ~[na:na]
	at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:451) ~[na:na]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:686) ~[na:na]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[na:na]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[na:na]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) ~[na:na]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325) ~[na:na]
	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290) ~[na:na]
	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137) ~[na:na]
	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_24]
Wed Mar 07 15:01:10.472 2012 Unable to create application context for [foo.bar.arsys.configuration], unsatisfied dependencies: none
java.lang.NoSuchFieldError: NULL
	at org.eclipse.gemini.blueprint.blueprint.container.SpringBlueprintConverterService.convert(SpringBlueprintConverterService.java:93) ~[na:na]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:143) ~[na:na]
	at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:92) ~[na:na]
	at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:451) ~[na:na]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:686) ~[na:na]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[na:na]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[na:na]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) ~[na:na]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325) ~[na:na]
	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) ~[na:na]
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290) ~[na:na]
	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137) ~[na:na]
	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_24]


Now based on what I saw in the gemini-blueprint jar manifest it should be compatible with any spring version between 3.00 and 4.00. Is this not the case?
Is gemini-blueprint tightly coupled with the spring version.
For instance the 1.0.0.RELEASE jar pulls in the Spring version 3.0.6 on maven clean install. Is is there any way to get around this, ie using eclipse-gemini blueprint 1.0.0.M1 with spring 3.1.0.RELEASE. Thank you for your time.






Re: Issues with Upgrading Spring version due to osgi-extender [message #815966 is a reply to message #815761] Thu, 08 March 2012 04:14 Go to previous messageGo to next message
Eclipse UserFriend
Why not raise an enhancement to have Gemini Blueprint support Spring 3.1.x? The version range [3,4) was, of course, highly optimistic. If you can do some debugging of the problem so much the better as not a lot of resource is applied to Gemini Blueprint currently.

You may be interested to know that I am looking into replacing Spring DM 1.2.1 by Gemini Blueprint in Virgo which will move up to Spring 3.1.x before very long, so I may hit the same problem as you in due course.
Re: Issues with Upgrading Spring version due to osgi-extender [message #815973 is a reply to message #815966] Thu, 08 March 2012 04:19 Go to previous messageGo to next message
Eclipse UserFriend
On second thoughts, the bug should be a regular bug rather than an enhancement as either the version range [3,4) is wrong or the code should work with Spring 3.1.x.
Re: Issues with Upgrading Spring version due to osgi-extender [message #821853 is a reply to message #815966] Thu, 15 March 2012 18:25 Go to previous messageGo to next message
Eclipse UserFriend
I hit the same issue.
The problem is at least from what I remember that Spring 3.1 introduced an api incompatibility with 3.1 by removing a constant (NULL) from the conversion service. The change in gemini blueprint should be trivial but I don't know why that field was dropped or how it should be replaced. This is in my experience the first time in that an upgrade of spring core caused an api problem. I would like to upgrade our osgi stack to spring 3.1 as well but didn't have time to investigate further...
Re: Issues with Upgrading Spring version due to osgi-extender [message #821862 is a reply to message #821853] Thu, 15 March 2012 18:47 Go to previous message
Eclipse UserFriend
I filed a bug at Springsource: jira.springsource.org/browse/SPR-9247
Previous Topic:Error while deploying a simple Spring MVC application using Gemini Blueprint, Gemini Web and Equinox
Next Topic:Gemini Web 2.0.2.RELEASE
Goto Forum:
  


Current Time: Fri Jul 25 00:26:28 EDT 2025

Powered by FUDForum. Page generated in 0.10190 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top