You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by cmoulliard <cm...@gmail.com> on 2009/03/20 16:55:33 UTC
Strange behavior of Camel 2.0 with bean top of OSGI !!!
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 | omponent@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.
Re: Strange behavior of Camel 2.0 with bean top of OSGI !!!
Posted by Claus Ibsen <cl...@gmail.com>.
Hi
He got it working. Was a mix classpath issue on his side.
Bu he forgot to write back that he have resolved this himself.
Charles, please remember this in the future so others don't waste time
digging into your issue?
On Sun, Mar 22, 2009 at 5:56 AM, Willem Jiang <wi...@gmail.com> wrote:
> Hi Charles,
>
> It looks like your csv bean's parameter is IncidentService.
> Camel was trying to covert the unmarshalled message body into the
> IncidentService.
>
> Can you tell me the propose of csv bean and show me the code of Csv?
>
> Willem
>
> cmoulliard wrote:
>> 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 | omponent@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/
>
>
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Re: Strange behavior of Camel 2.0 with bean top of OSGI !!!
Posted by Willem Jiang <wi...@gmail.com>.
Hi Charles,
It looks like your csv bean's parameter is IncidentService.
Camel was trying to covert the unmarshalled message body into the
IncidentService.
Can you tell me the propose of csv bean and show me the code of Csv?
Willem
cmoulliard wrote:
> 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 | omponent@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/
Re: Strange behavior of Camel 2.0 with bean top of OSGI !!!
Posted by cmoulliard <cm...@gmail.com>.
More trace :
16:58:05,429 | INFO | omponent@1aa5221 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1546-1237563220757-2-7 >>> --> unmarshal(), Pattern:InOnly,
Properties:{CamelFileLockName=d:\temp\data\csv_small.txt.camelLock,
CamelFileLock=sun.nio.ch.FileLockImpl[0:9223372036854775807 exclusive
valid]}, Headers:{CamelFileBatchSize=1, CamelFileNameOnly=csv_small.txt,
CamelFileBatchIndex=0, CamelFileLastModified=Fri Mar 20 13:56:23 CET 2009,
CamelFileRelativePath=d:\temp\data\csv_small.txt,
CamelFileAbsolutePath=d:\temp\data\csv_small.txt, CamelFileLength=111,
CamelFileName=csv_small.txt, CamelFilePath=d:\temp\data\csv_small.txt,
CamelFileParent=d:\temp\data, CamelFileAbsolute=true},
BodyType:org.apache.camel.component.file.GenericFile,
Body:001,08-01-2009,Albert,Cartier,incident 1,this is a report incident
1,albert.cartier@gmail.com,+352 25 10 70 470
16:58:06,288 | INFO | omponent@1aa5221 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1546-1237563220757-2-7 >>> unmarshal() --> to(bean:csv),
Pattern:InOnly,
Properties:{CamelFileLockName=d:\temp\data\csv_small.txt.camelLock,
CamelFileLock=sun.nio.ch.FileLockImpl[0:9223372036854775807 exclusive
valid]}, Headers:{CamelFileBatchSize=1, CamelFileNameOnly=csv_small.txt,
CamelFileBatchIndex=0, CamelFileLastModified=Fri Mar 20 13:56:23 CET 2009,
CamelFileRelativePath=d:\temp\data\csv_small.txt,
CamelFileAbsolutePath=d:\temp\data\csv_small.txt, CamelFileLength=111,
CamelFileName=csv_small.txt, CamelFilePath=d:\temp\data\csv_small.txt,
CamelFileParent=d:\temp\data, CamelFileAbsolute=true},
BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@1fa5d1a[
incidentId=0
incidentRef=001
incidentDate=Thu Jan 08 00:01:00 CET 2009
givenName=Albert
familyName=Cartier
summary=incident 1
details=this is a report incident 1
email=albert.cartier@gmail.com
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]
16:58:06,304 | INFO | omponent@1aa5221 | TraceInterceptor |
rg.apache.camel.processor.Logger 127 |
ID-dell-charles-1546-1237563220757-2-7 >>> to(bean:csv) --> to(bean:csv),
Pattern:InOnly, Properties:{CamelBeanHolder=bean: csv,
CamelFileLockName=d:\temp\data\csv_small.txt.camelLock,
CamelFileLock=sun.nio.ch.FileLockImpl[0:9223372036854775807 exclusive
valid]}, Headers:{CamelFileBatchSize=1, CamelFileNameOnly=csv_small.txt,
CamelFileBatchIndex=0, CamelFileLastModified=Fri Mar 20 13:56:23 CET 2009,
CamelFileRelativePath=d:\temp\data\csv_small.txt,
CamelFileAbsolutePath=d:\temp\data\csv_small.txt, CamelFileLength=111,
CamelFileName=csv_small.txt, CamelFilePath=d:\temp\data\csv_small.txt,
CamelFileParent=d:\temp\data, CamelBeanMultiParameterArray=false,
CamelFileAbsolute=true}, BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@1fa5d1a[
incidentId=0
incidentRef=001
incidentDate=Thu Jan 08 00:01:00 CET 2009
givenName=Albert
familyName=Cartier
summary=incident 1
details=this is a report incident 1
email=albert.cartier@gmail.com
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]
16:58:06,304 | ERROR | omponent@1aa5221 | DeadLetterChannel |
rg.apache.camel.processor.Logger 207 | Failed delivery for exchangeId:
ID-dell-charles-1546-1237563220757-0-7. On delivery attempt: 0 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)
16:58:07,304 | INFO | omponent@1aa5221 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1546-1237563220757-2-7 >>> to(bean:csv) --> to(bean:csv),
Pattern:InOnly, Properties:{CamelBeanHolder=bean: csv,
CamelFileLockName=d:\temp\data\csv_small.txt.camelLock,
CamelFileLock=sun.nio.ch.FileLockImpl[0:9223372036854775807 exclusive
valid],
CamelExceptionCaught=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]},
Headers:{CamelFileNameOnly=csv_small.txt, CamelFileBatchSize=1,
CamelFileRelativePath=d:\temp\data\csv_small.txt, CamelFileLastModified=Fri
Mar 20 13:56:23 CET 2009, CamelFileBatchIndex=0,
CamelFileAbsolutePath=d:\temp\data\csv_small.txt,
CamelBeanMultiParameterArray=false, CamelRedelivered=true,
CamelFileName=csv_small.txt, CamelFileLength=111,
CamelFilePath=d:\temp\data\csv_small.txt, CamelFileParent=d:\temp\data,
CamelRedeliveryCounter=1, CamelFileAbsolute=true},
BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@1fa5d1a[
incidentId=0
incidentRef=001
incidentDate=Thu Jan 08 00:01:00 CET 2009
givenName=Albert
familyName=Cartier
summary=incident 1
details=this is a report incident 1
email=albert.cartier@gmail.com
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]
cmoulliard wrote:
>
> 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 | omponent@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-tp22622161p22622167.html
Sent from the Camel - Users mailing list archive at Nabble.com.