Hi Chris,

To pick up this fix from cxf side, we only need update the cxf- bunde.jar in smx4.x kit.

And yeah, we should do a CXF component release after CXF 2.2.8 is out, as there're some other fixes after smx-cxf component 2010.01 release.

Best Regards
Freeman
On 2010-4-20, at 下午11:38, Chris Custine wrote:

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




--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to