Hi,
I have created a bean where I inject a dependency coming from an osgi
service like this :
<bean id="csv"
class="org.apache.camel.example.reportincident.beans.Csv">
<property name="incidentService">
<osgi:reference
interface="org.apache.camel.example.reportincident.service.IncidentService"/>
</property>
</bean>
The bean is used in a camel route :
<!-- File route -->
<camel:route>
<camel:from
uri="file://d:/temp/data/?move=d:/temp/done/${file:name}" />
<camel:unmarshal ref="bindyDataformat" />
<camel:to uri="bean:csv" />
<camel:to uri="queuingservice:queue:in" />
</camel:route>
<!-- -->
<camel:route>
<camel:from uri="queuingservice:queue:in" />
<camel:marshal ref="bindyDataformat" />
<camel:to uri="file://d:/temp/data/queue" />
</camel:route>
But when I put a file in the directory of temp/data, I receive hundreds of
lines like this. It seems that camel would like to convert
org.apache.camel.component.file.GenericFileMessage to the required type:
org.apache.camel.example.reportincident.service.IncidentService !!! This is
completely stupid.
16:41:09,929 | ERROR | ompon...@1504a84 | DeadLetterChannel |
rg.apache.camel.processor.Logger 207 | Failed delivery for exchangeId:
ID-dell-charles-1546-1237563220757-0-6. On delivery attempt: 1 caught:
org.apache.camel.NoTypeConversionAvailableException: No type converter
available to convert from type:
org.apache.camel.component.file.GenericFileMessage to the required type:
org.apache.camel.example.reportincident.service.IncidentService with value
GenericFileMessage: GenericFile[d:\temp\data\csv_small.txt]
org.apache.camel.NoTypeConversionAvailableException: No type converter
available to convert from type:
org.apache.camel.component.file.GenericFileMessage to the required type:
org.apache.camel.example.reportincident.service.IncidentService with value
GenericFileMessage: GenericFile[d:\temp\data\csv_small.txt]
at
org.apache.camel.impl.converter.DefaultTypeConverter.doConvertTo(DefaultTypeConverter.java:156)
at
org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:99)
at
org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:95)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:86)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:52)
at
org.apache.camel.builder.ExpressionBuilder$13.evaluate(ExpressionBuilder.java:319)
at
org.apache.camel.impl.ExpressionSupport.evaluate(ExpressionSupport.java:37)
at
org.apache.camel.component.bean.MethodInfo$2.evaluate(MethodInfo.java:187)
at
org.apache.camel.component.bean.MethodInfo.createMethodInvocation(MethodInfo.java:78)
at
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:136)
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:109)
at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:95)
at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:65)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:69)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:80)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:88)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:83)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:210)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:55)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:91)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:83)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:157)
at
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:98)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Regards,
-----
Charles Moulliard
SOA Architect
My Blog : http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/
--
View this message in context:
http://www.nabble.com/Strange-behavior-of-Camel-2.0-with-bean-top-of-OSGI-%21%21%21-tp22622161p22622161.html
Sent from the Camel - Users mailing list archive at Nabble.com.