Sorry abt that. The real name is kimono-proce*, I'd edited some part b/4 posting. I missed that.
willem.jiang wrote: > > Hi, > > I just find the error's bundle name is kimono-processor-bundle. > > Caused by: java.lang.ClassNotFoundException: > org.tempuri.MyAggregationStrategy not found from bundle > [kimono-processor-bundle] > > The bundle name is different from the Bundle Manifest's > Bundle-SymbolicName. Does it ring the bell ? > > > Willem > > lekkie wrote: >> >> Thanks. >> >> Camel Version -> 2.1.0.psc-01-00RC1 >> Osgi Container -> Karaf >> Osgi version -> spring-osgi-core (1.2.0) >> camel-osgi -> (2.1.0.psc-01-00RC1) >> >> Bundle Manifest: >> >> Manifest-Version: 1.0 >> Export-Package: org.tempuri;uses:="org.apache.camel,org.apache.camel.p >> rocessor.aggregate" >> Built-By: lekkie >> Tool: Bnd-0.0.357 >> Bundle-Name: Services :: Request Processor Bundle >> Created-By: Apache Maven Bundle Plugin >> Require-Bundle: org.apache.cxf.bundle >> Build-Jdk: 1.6.0_16 >> Bundle-Version: 0.0.1.SNAPSHOT >> Bnd-LastModified: 1263566379826 >> Bundle-ManifestVersion: 2 >> Import-Package: META-INF.cxf,META-INF.cxf.transport.nmr,javax.jws;vers >> ion="2.0",javax.wsdl,org.apache.camel;version="2.0",org.apache.camel. >> processor.aggregate;version="2.0",org.apache.cxf.bus,org.apache.servi >> cemix.camel.nmr,org.apache.servicemix.cxf.transport.nmr,org.apache.se >> rvicemix.nmr.api,org.apache.servicemix.nmr.api.event,org.apache.servi >> cemix.nmr.api.internal,org.springframework.beans.factory.config;versi >> on="2.5",org.tempuri,org.tempuri.MyAggregationStrategy >> Bundle-SymbolicName: processor-bundle >> >> >> >> >> Stephen Gargan wrote: >>> Can you give me some more info,such as the camel version and your osgi >>> container and version. The bundle manifest might not hurt either. >>> >>> >>> On Fri, Jan 15, 2010 at 10:01 AM, lekkie <lekkie.ay...@gmail.com> wrote: >>>> See attached trace, thanks. >>>> >>>> org.springframework.beans.factory.BeanCreationException: Error creating >>>> bean >>>> with name 'org.apache.cxf.bus.spring.BusApplicationListener' defined in >>>> OSGi >>>> resource[classpath:META-INF/cxf/cxf.xml|bnd.id=192|bnd.sym=kimono-processor-bundle]: >>>> Initialization of bean failed; nested exception is >>>> org.springframework.beans.factory.BeanCreationException: Error creating >>>> bean >>>> with name 'camelContext': Invocation of init method failed; nested >>>> exception >>>> is org.springframework.beans.factory.CannotLoadBeanClassException: >>>> Cannot >>>> find class [org.tempuri.MyAggregationStrategy] for bean with name >>>> 'myAggregatorStrategy' defined in URL >>>> [bundleentry://192.fwk5195164/META-INF/spring/camel-context.xml]; >>>> nested >>>> exception is java.lang.ClassNotFoundException: >>>> org.tempuri.MyAggregationStrategy not found from bundle >>>> [kimono-processor-bundle] >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480) >>>> 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.getBeansOfType(DefaultListableBeanFactory.java:308) >>>> at >>>> org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:947) >>>> at >>>> org.springframework.context.support.AbstractApplicationContext.registerListeners(AbstractApplicationContext.java:701) >>>> at >>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1500(AbstractDelegatedExecutionApplicationContext.java:69) >>>> at >>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:351) >>>> 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:595) >>>> Caused by: org.springframework.beans.factory.BeanCreationException: >>>> Error >>>> creating bean with name 'camelContext': Invocation of init method >>>> failed; >>>> nested exception is >>>> org.springframework.beans.factory.CannotLoadBeanClassException: Cannot >>>> find >>>> class [org.tempuri.MyAggregationStrategy] for bean with name >>>> 'myAggregatorStrategy' defined in URL >>>> [bundleentry://192.fwk5195164/META-INF/spring/camel-context.xml]; >>>> nested >>>> exception is java.lang.ClassNotFoundException: >>>> org.tempuri.MyAggregationStrategy not found from bundle >>>> [kimono-processor-bundle] >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) >>>> 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.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880) >>>> at >>>> org.apache.camel.spring.CamelBeanPostProcessor.postProcessBeforeInitialization(CamelBeanPostProcessor.java:88) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1331) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) >>>> ... 17 more >>>> Caused by: >>>> org.springframework.beans.factory.CannotLoadBeanClassException: >>>> Cannot find class [org.tempuri.MyAggregationStrategy] for bean with >>>> name >>>> 'myAggregatorStrategy' defined in URL >>>> [bundleentry://192.fwk5195164/META-INF/spring/camel-context.xml]; >>>> nested >>>> exception is java.lang.ClassNotFoundException: >>>> org.tempuri.MyAggregationStrategy not found from bundle >>>> [kimono-processor-bundle] >>>> at >>>> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1141) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:524) >>>> at >>>> org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1177) >>>> at >>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:222) >>>> at >>>> org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:937) >>>> at >>>> org.apache.camel.spring.CamelContextFactoryBean.getBeanForType(CamelContextFactoryBean.java:539) >>>> at >>>> org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:185) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369) >>>> at >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) >>>> ... 31 more >>>> Caused by: java.lang.ClassNotFoundException: >>>> org.tempuri.MyAggregationStrategy not found from bundle >>>> [kimono-processor-bundle] >>>> at >>>> org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103) >>>> at >>>> org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>> at >>>> org.springframework.util.ClassUtils.forName(ClassUtils.java:211) >>>> at >>>> org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:385) >>>> at >>>> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1138) >>>> ... 39 more >>>> Caused by: java.lang.ClassNotFoundException: >>>> org.tempuri.MyAggregationStrategy >>>> at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:448) >>>> at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) >>>> at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398) >>>> at >>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>> at >>>> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326) >>>> at >>>> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231) >>>> at >>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1193) >>>> at >>>> org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99) >>>> ... 44 more >>>> 15:14:36,952 | INFO | heckpoint Worker | MessageDatabase >>>> | >>>> emq.store.kahadb.MessageDatabase 605 | Slow KahaDB access: cleanup >>>> took >>>> 561 >>>> >>>> >>>> >>>> >>>> >>>> Stephen Gargan wrote: >>>>> Hmm, You probably do export it's package correctly in the manifest, >>>>> though I know I've often forgotten to, is it correct? Could you post >>>>> the exception trace so we can have a look? >>>>> >>>>> >>>>> On Fri, Jan 15, 2010 at 6:46 AM, lekkie <lekkie.ay...@gmail.com> >>>>> wrote: >>>>>> Thanks Stephen. >>>>>> >>>>>> I followed your sample snippet below. >>>>>> >>>>>> The wiretap was a success, however, I couldnt get through with the >>>>>> aggregator. >>>>>> >>>>>> It kept complaining class not found for my custom aggregator. See >>>>>> sample >>>>>> snippet below: >>>>>> >>>>>> <osgi:camelContext xmlns="http://camel.apache.org/schema/spring" >>>>>> trace="true"> >>>>>> >>>>>> <package>org.tempuri</package> >>>>>> >>>>>> <route> >>>>>> <from uri="nmr:RequestProcessor" /> >>>>>> <wireTap uri="direct:ProcessorServices"/> >>>>>> <!-- <to uri="log:TerminalManagerRequest"/>--> >>>>>> <to >>>>>> uri="nmr:{http://services.locator/}ServicesService:ServicesPort"/> >>>>>> <to uri="direct:ProcessorServices"/> >>>>>> </route> >>>>>> >>>>>> <route> >>>>>> <from uri="direct:ProcessorServices" /> >>>>>> <aggregate strategyRef="myAggregatorStrategy" batchSize="2"> >>>>>> <correlationExpression> >>>>>> <constant>true</constant> >>>>>> </correlationExpression> >>>>>> <to uri="log:Response"/> >>>>>> </aggregate> >>>>>> </route> >>>>>> >>>>>> </osgi:camelContext> >>>>>> >>>>>> <bean id="myAggregatorStrategy" >>>>>> class="org.tempuri.MyAggregationStrategy"/> >>>>>> >>>>>> </beans> >>>>>> >>>>>> >>>>>> >>>>>> I have the ffg in my project >>>>>> >>>>>> src/main/java/org/tempuri/MyAggregationStrategy.java >>>>>> src/main/resources/META-INF/spring/camel-context.xml >>>>>> >>>>>> And I can confirm the class is compiled with the bundle deployed. >>>>>> >>>>>> Any ideas? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Stephen Gargan wrote: >>>>>>> Hi, >>>>>>> >>>>>>> You can use Wiretaps and an aggregator to do what you're suggesting. >>>>>>> At each step that you want an intermediate result to be available, >>>>>>> wiretap it off to an aggregator and set the batch size of the >>>>>>> aggregator accordingly. >>>>>>> >>>>>>> from("direct:consumerEndpoint").wireTap("direct:aggregator").to("direct:requestToSomeEndpointTransformer").to( >>>>>>> "direct:someEndpoint").to("direct:aggregator"); >>>>>>> >>>>>>> from("direct:aggregator").aggregate().header("id").batchSize(2).groupExchanges().to("mock:result"); >>>>>>> >>>>>>> One thing to note is that groupExchanges() will gather up all the >>>>>>> aggregated exchanges and store them in a property in the exchange. >>>>>>> You >>>>>>> get at them via >>>>>>> >>>>>>> List<Exchange> grouped = e.getProperty(Exchange.GROUPED_EXCHANGE, >>>>>>> List.class); >>>>>>> >>>>>>> You'll need to write a custom processor (in place of the mock) to >>>>>>> combine/transform them to your liking as before responding. You can >>>>>>> find a bunch of info about aggregators here >>>>>>> >>>>>>> http://camel.apache.org/aggregator.html >>>>>>> >>>>>>> ste. >>>>>>> >>>>>>> On Thu, Jan 14, 2010 at 12:12 AM, lekkie <lekkie.ay...@gmail.com> >>>>>>> wrote: >>>>>>>> Hi guys, >>>>>>>> >>>>>>>> >>>>>>>> Just a quick one. I have this scenario where I 'd like to >>>>>>>> manipulate >>>>>>>> a >>>>>>>> request and some reponse from an endpoint. The flow below describe >>>>>>>> what >>>>>>>> I >>>>>>>> am >>>>>>>> trying to achieve: >>>>>>>> >>>>>>>> <osgi:camelContext xmlns="http://camel.apache.org/schema/spring" >>>>>>>> trace="true"> >>>>>>>> <route> >>>>>>>> <from uri="nmr:consumerEndpoint"/> >>>>>>>> <to uri="xslt:requestToSomeEndpoint.xsl"/> >>>>>>>> <to uri="nmr:someEndpoint"/> >>>>>>>> <to uri="xslt:requestToAnotherEndpoint.xsl"/> >>>>>>>> <to uri="nmr:anotherEndpoint"/> >>>>>>>> </route> >>>>>>>> </camelcontext> >>>>>>>> >>>>>>>> I'd like the transformation (requestToAnotherEndpoint.xsl) to be >>>>>>>> able >>>>>>>> to >>>>>>>> access/manipulate the original request message from >>>>>>>> nmr:consumerEndpoint >>>>>>>> and >>>>>>>> the response from nmr:someEndpoint in order to product its output. >>>>>>>> >>>>>>>> Is this scenario possible? >>>>>>>> >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27157259.html >>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>>>> >>>>>>>> >>>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27178135.html >>>>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27181118.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >> > > > -- View this message in context: http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27206767.html Sent from the Camel - Users mailing list archive at Nabble.com.