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
>
>

Reply via email to