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.

Reply via email to