I tried this and it worked. However, my bundle is having AOP issues again. I will see if I can't track down the reason and let you know what I fond out.

Jason

On Apr 20, 2010, at 12:17 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