Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    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
Zaraki r is currently offline Zaraki r
Messages: 2
Registered: March 2012
Junior Member
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
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
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
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
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
Magnus Jungsbluth is currently offline Magnus Jungsbluth
Messages: 5
Registered: July 2011
Junior Member
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
Magnus Jungsbluth is currently offline Magnus Jungsbluth
Messages: 5
Registered: July 2011
Junior Member
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: Sun Apr 20 07:03:02 EDT 2014

Powered by FUDForum. Page generated in 0.01692 seconds