Hi Willem, Thanks for creating a JIRA. I will work on the patch and submit it.
Best Regards, madhav Willem.Jiang wrote: > > On 11/3/10 4:45 AM, unmarshall wrote: >> >> Hi Willem, >> >> We are using 2 bundles - >> >> 1. cxf-bundle >> 2. camel-cxf >> >> The problem is that both of these bundles export the same package >> META-INF.cxf which they should not as it results in a split package >> scenario. Internally i believe Camel is using CXF bus to load the camel >> specific beans for CXF from META-INF.cxf and so creates the same folder >> so >> that i becomes easier to re-use. The problem it creates is that now you >> have >> to export the same package from camel-cxf as well. >> >> I hope i have answered your question. > > Yes, I got it. > > After having some chats with Freeman of ServiceMix, I realized that > camel-cxf should not export the META-INF.cxf which makes the OSGi core > confused when you install the cxf-bundle and camel-cxf bundle at the > same time. If the camel-cxf bundle is installed before the cxf-bundle, > you application may resolved a wrong META-INF.cxf package. > > I just create a JIRA[1] for it. You can apply the patch yourself to > camel 2.5.0 or wait for the release of Fuse MR 2.5.0. > > [1]https://issues.apache.org/activemq/browse/CAMEL-3303 > >> >> Best regards, >> Madhav >> >> >> >> Willem.Jiang wrote: >>> >>> Hi, >>> >>> What kind of CXF bundle are you using? >>> Did you installed the cxf-bundle bundle? >>> >>> Here is a FAQ entry[1] may help you too. >>> >>> [1]https://cwiki.apache.org/CAMEL/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.html >>> >>> On 10/29/10 8:35 PM, unmarshall wrote: >>>> >>>> Hi All, >>>> >>>> I have an equinox based OSGI runtime. In that i am using Apache Camel >>>> 2.4.0 >>>> and CXF - 2.2.11 >>>> >>>> In the spring XML configuration file i have the following include >>>> statements: >>>> >>>> <import resource="classpath*:META-INF/cxf/cxf.xml" /> >>>> <import resource="classpath*:META-INF/cxf/cxf-extension-soap.xml" /> >>>> <import resource="classpath*:META-INF/cxf/cxf-extension-http.xml"/> >>>> <import >>>> resource="classpath*:META-INF/cxf/osgi/cxf-extension-osgi.xml"/> >>>> >>>> When the osgi runtime starts then it throws the following exception: >>>> >>>> Oct 29, 2010 5:20:10 PM org.apache.cxf.bus.spring.SpringBusFactory >>>> createApplicationContext >>>> WARNING: Initial attempt to create application context was >>>> unsuccessful. >>>> org.springframework.beans.factory.BeanDefinitionStoreException: >>>> IOException >>>> parsing XML document from class path resource [META-INF/cxf/cxf.xml]; >>>> nested >>>> exception is java.io.FileNotFoundException: class path resource >>>> [META-INF/cxf/cxf.xml] cannot be opened because it does not exist >>>> at >>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341) >>>> at >>>> org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131) >>>> at >>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) >>>> at >>>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) >>>> at >>>> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:122) >>>> at >>>> org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:262) >>>> at >>>> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) >>>> at >>>> org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467) >>>> at >>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) >>>> at >>>> org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91) >>>> at >>>> org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102) >>>> at >>>> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93) >>>> at >>>> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86) >>>> at >>>> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64) >>>> at >>>> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53) >>>> at >>>> org.apache.cxf.transport.servlet.CXFServlet.updateContext(CXFServlet.java:136) >>>> at >>>> org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:104) >>>> at >>>> org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:73) >>>> at >>>> org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:84) >>>> at >>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.init(ServletRegistration.java:49) >>>> at >>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.registerServlet(ProxyServlet.java:177) >>>> at >>>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:66) >>>> at >>>> com.sap.pi.composite.syn.internal.activator.TrackingComponent.startup(TrackingComponent.java:34) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>> at >>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:210) >>>> at >>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:139) >>>> at >>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:329) >>>> at >>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:580) >>>> at >>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:196) >>>> at >>>> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:431) >>>> at >>>> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213) >>>> at >>>> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800) >>>> at >>>> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767) >>>> at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) >>>> at >>>> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70) >>>> Caused by: java.io.FileNotFoundException: class path resource >>>> [META-INF/cxf/cxf.xml] cannot be opened because it does not exist >>>> at >>>> org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:141) >>>> at >>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) >>>> ... 37 more >>>> >>>> There is already an issue being logged @ >>>> http://mail-archives.apache.org/mod_mbox/camel-dev/201010.mbox/%3c6300966.62871287668440374.javamail.j...@thor%3e >>>> CAMEL-2457 Issue >>>> >>>> The workaround due to the split-package issue (which is a no-no in >>>> OSGI) >>>> does not work for me. This is stopping me to use CXF and is a major >>>> problem. >>>> >>>> Has anyone worked on this issue yet? >>>> >>>> Best Regards, >>>> Madhav >>>> >>>> >>>> >>> >>> >>> -- >>> Willem >>> ---------------------------------- >>> FuseSource >>> Web: http://www.fusesource.com >>> Blog: http://willemjiang.blogspot.com (English) >>> http://jnn.javaeye.com (Chinese) >>> Twitter: willemjiang >>> >>> >> > > > -- > Willem > ---------------------------------- > FuseSource > Web: http://www.fusesource.com > Blog: http://willemjiang.blogspot.com (English) > http://jnn.javaeye.com (Chinese) > Twitter: willemjiang > > -- View this message in context: http://camel.465427.n5.nabble.com/CXF-Startup-issue-with-Camel-in-OSGI-runtime-tp3241913p3247959.html Sent from the Camel - Users mailing list archive at Nabble.com.