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.