Awesome! Thanks Freeman! FWIW, as soon as CXF 2.2.8 is released, we will probably do a CXF component release to get this fix available to users. I have seen this issue come up several times lately.
Chris -- Chris Custine FUSESource :: http://fusesource.com My Blog :: http://blog.organicelement.com Apache ServiceMix :: http://servicemix.apache.org Apache Felix :: http://felix.apache.org Apache Directory Server :: http://directory.apache.org On Tue, Apr 20, 2010 at 1:18 AM, Freeman Fang <[email protected]>wrote: > Hi, > > I believe this is actually caused by when you install jpa-hibernate > feature, this add cglib 2.2.0 version in osgi container, this can cause > cxf-bundle resolve to use cglib 2.2.0(before it use cglib 2.1.3), but > cxf-bundle optionaly import org.springframework.beans which optionaly > import net.sf.cglib with version range [2.1.3, 2.2.0), this can cause > org.springframework.beans not available for cxf-bundle anymore as it's > optional. > > cxf-bundle import org.springframework.beans without optional can make both > cxf-bundle and spring-beans to choose cglib 2.1.3, but I think the better > solution is specify version range for cglib optional import for cxf-bundle. > Create CXF-2773[1] to track it. > [1]https://issues.apache.org/jira/browse/CXF-2773 > > > Freeman > > On 2010-4-20, at 上午9:12, Jason Chaffee wrote: > > I rebuilt the org.apache.cxf.bundle and made it so that the >> org.springframeworkd.beans.factory.support is not optional and this problem >> went away. >> >> That begs the question, why isn't the optional class being resolved when I >> do a refresh? I had to rebuild the bundle and make it non-optional for it >> to be resolved. >> >> -----Original Message----- >> From: Jason Chaffee [mailto:[email protected]] >> Sent: Monday, April 19, 2010 3:56 PM >> To: [email protected] >> Subject: RE: Another Spring issue on servicemix 4 and use of Proxies >> >> BTW, this is easy to reproduce. Steps below: >> >> 1) Do a clean install of servicemix or Fuse. I am currently using Fuse >> 4.2 based on advice from this list. >> >> 2) Install the aspect bundles from spring >> karaf>osgi:install -s >> mvn:org.aspectj/com.springsource.org.aspectj.matcher/1.6.8.RELEASE >> karaf>osgi:install -s >> mvn:org.aspectj/com.springsource.org.aspectj.runtime/1.6.8.RELEASE >> >> 3) Refresh Spring AOP >> >> After step 3, you will see this error: >> >> 15:52:51,688 | ERROR | xtenderThread-66 | ContextLoaderListener >> | BundleApplicationContextListener 50 | Application context refresh >> failed (OsgiBundleXmlApplicationContext(bundle=servicemix-cxf-se, >> config=osgibundle:/META-INF/spring/*.xml)) >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean with name 'org.apache.cxf.binding.BindingFactoryManager' defined in >> OSGi >> resource[classpath:META-INF/cxf/cxf.xml|bnd.id=164|bnd.sym=servicemix-cxf-se]: >> Cannot create inner bean >> 'org.apache.cxf.configuration.spring.SpringBeanMap#7d15b7ce' of type >> [org.apache.cxf.configuration.spring.SpringBeanMap] while setting bean >> property 'mapProvider'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating bean >> with name 'org.apache.cxf.configuration.spring.SpringBeanMap#7d15b7ce' >> defined in OSGi >> resource[classpath:META-INF/cxf/cxf.xml|bnd.id=164|bnd.sym=servicemix-cxf-se]: >> Invocation of init method failed; nested exception is >> java.lang.NoClassDefFoundError: >> org/springframework/beans/factory/support/ManagedSet >> >> -----Original Message----- >> From: Jason Chaffee [mailto:[email protected]] >> Sent: Monday, April 19, 2010 3:51 PM >> To: [email protected] >> Subject: RE: Another Spring issue on servicemix 4 and use of Proxies >> >> The problem is definitely with the org.apache.cxf.bundle because it >> imports Spring AOP. Once I refresh Spring AOP to load the optional aspect >> classes then any bundle that imports org.apache.cxf.bundle and has >> META-INF/cxf/cxf.xml as an imported-package will get this error. >> >> -----Original Message----- >> From: Jason Chaffee [mailto:[email protected]] >> Sent: Monday, April 19, 2010 11:53 AM >> To: [email protected] >> Subject: RE: Another Spring issue on servicemix 4 and use of Proxies >> >> Here is the error. I get the same error with servicmix-cxf-bc, >> examples-jaxrs, an my bundle when they all try to load cxf.xml file. >> >> >> 16:37:04,089 | ERROR | xtenderThread-62 | ContextLoaderListener >> | BundleApplicationContextListener 50 | Application context refresh >> failed (OsgiBundleXmlApplicationContext(bundle=servicemix-cxf-se, >> config=osgibundle:/META-INF/spring/*.xml)) >> org.springframework.beans.factory.BeanCreationException: Error creating >> bean with name 'org.apache.cxf.binding.BindingFactoryManager' defined in >> OSGi >> resource[classpath:META-INF/cxf/cxf.xml|bnd.id=164|bnd.sym=servicemix-cxf-se]: >> Cannot create inner bean >> 'org.apache.cxf.configuration.spring.SpringBeanMap#5d40f8c3' of type >> [org.apache.cxf.configuration.spring.SpringBeanMap] while setting bean >> property 'mapProvider'; nested exception is >> org.springframework.beans.factory.BeanCreationException: Error creating bean >> with name 'org.apache.cxf.configuration.spring.SpringBeanMap#5d40f8c3' >> defined in OSGi >> resource[classpath:META-INF/cxf/cxf.xml|bnd.id=164|bnd.sym=servicemix-cxf-se]: >> Invocation of init method failed; nested exception is >> java.lang.NoClassDefFoundError: >> org/springframework/beans/factory/support/ManagedSet >> at >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230) >> at >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:117) >> 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.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) >> at >> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) >> at >> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) >> at >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) >> at >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) >> at >> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) >> at >> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) >> at >> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136) >> at java.lang.Thread.run(Thread.java:637) >> >> -----Original Message----- >> From: Charles Moulliard [mailto:[email protected]] >> Sent: Monday, April 19, 2010 1:34 AM >> To: [email protected] >> Subject: Re: Another Spring issue on servicemix 4 and use of Proxies >> >> which error do you have ? >> >> Charles Moulliard >> >> Senior Enterprise Architect (J2EE, .NET, SOA) >> Apache Camel Committer >> >> ******************************************************************* >> - Blog : http://cmoulliard.blogspot.com >> - Twitter : http://twitter.com/cmoulliard >> - Linkedlin : http://www.linkedin.com/in/charlesmoulliard >> >> >> >> On Sun, Apr 18, 2010 at 10:53 PM, Jason Chaffee <[email protected]> >> wrote: >> >>> I got AspectJ and spring-aop to work in sericemix 4 using OSGI. However, >>> when I did that, CXF stopped working. >>> >>> >>> -----Original Message----- >>> From: iocanel [mailto:[email protected]] >>> Sent: Sun 4/18/2010 11:44 AM >>> To: [email protected] >>> Subject: RE: Another Spring issue on servicemix 4 and use of Proxies >>> >>> >>> >>> Jason Chaffee-3 wrote: >>> >>>> >>>> Surely someone has gotten Aspectj and spring-aop to work?? >>>> >>>> :-) >>> >>> I have but not inside an osgi environment. >>> Untill the ServiceMix 4 and aspectj issue is resolved, try compile time >>> weaving of your aspects. >>> >>> ----- >>> Ioannis Canellos >>> -- >>> View this message in context: >>> http://old.nabble.com/Another-Spring-issue-on-servicemix-4-and-use-of-Proxies-tp28260273p28284254.html >>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>> >>> >>> >>> > > -- > Freeman Fang > > ------------------------ > Open Source SOA: http://fusesource.com > >
