On Fri, Nov 27, 2009 at 4:18 PM, shirazi <m...@farhad.eu> wrote:
>
> Thanks Claus,
> I just downloaded the new trunk, and I think there's a new bug in it. I just
> tried the file component with a couple of files around 3-400 MBs and it
> works fine. As soon as I try it with a file around 3 Gigs, i get the
> following exception (??!!):
>

That is odd as the stacktrace is off by -1.
And you do a full svn up and a mvn clean install -Dtest=false to build
all source from scratch?


If you enable TRACE logging for: org.apache.camel.component.file

You should see this log line when it uses the NIO stuff

            if (LOG.isTraceEnabled()) {
                LOG.trace("Using FileChannel to transfer from: " + in
+ " to: " + out);
            }


I have committed a fix for the NPE in that stacktrace. But the was
some other exception thrown that got lost.


commited rev: 884894.



> 16:13:48,830 ERROR [workflow] null while processing exchange:
> Exchange[GenericFileMessage with file: GenericFile[/tmp/vw/cmore/tv5.ts]]
> java.lang.NullPointerException
>        at
> org.apache.camel.impl.OnExceptionRouteNode.getLabel(OnExceptionRouteNode.java:41)
>        at
> org.apache.camel.processor.interceptor.DefaultTraceFormatter.getNodeMessage(DefaultTraceFormatter.java:233)
>        at
> org.apache.camel.processor.interceptor.DefaultTraceFormatter.extractBreadCrumb(DefaultTraceFormatter.java:282)
>        at
> org.apache.camel.processor.interceptor.DefaultTraceFormatter.format(DefaultTraceFormatter.java:55)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.format(TraceInterceptor.java:232)
>        at org.apache.camel.processor.Logger.logMessage(Logger.java:283)
>        at org.apache.camel.processor.Logger.process(Logger.java:166)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.logException(TraceInterceptor.java:325)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:171)
>        at
> org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:58)
>        at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>        at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>        at
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>        at
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:58)
>        at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>        at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
>        at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
>        at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>        at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>        at 
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>        at
> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>        at 
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>        at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>        at
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162)
>        at
> org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:58)
>        at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>        at
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:56)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>        at
> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>        at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.processor.LoggingErrorHandler.process(LoggingErrorHandler.java:58)
>        at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>        at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>        at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>        at
> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:201)
>        at
> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:122)
>        at
> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:95)
>        at
> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:108)
>        at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
>        at
> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
>        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>        at java.lang.Thread.run(Thread.java:613)
>
>
>
>
> Claus Ibsen-2 wrote:
>>
>> On Fri, Nov 27, 2009 at 2:34 PM, shirazi <m...@farhad.eu> wrote:
>>>
>>> Oh, sorry. that's right, it is 64 MB. and I tried with 16, 32, 64 and 128
>>> MB.
>>> I will try the buffer size option of the file-comp. to see if it solves
>>> the
>>> problem.
>>>
>>
>> I have just committed the fix to camel trunk.
>>
>> The old code will still have the 2gb limit bug no matter what
>> bufferSize you use.
>> However you should try the latest code in 2.1 to see if that works for
>> you.
>> http://camel.apache.org/download.html
>>
>>
>>
>>> Thanks,
>>> Farhad S.
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>> On Fri, Nov 27, 2009 at 2:26 PM, shirazi <m...@farhad.eu> wrote:
>>>>>
>>>>> That's probably the case. I've tried with different buffer sizes
>>>>> (though
>>>>> not
>>>>> 0), from 16 to 128 KB. I got the best performance with buffer of 64KB,
>>>>> on
>>>>> Linux Debian with 4 Gigs RAM, and files larger than 3 Gigs.
>>>>> That would be great, if one could specify the buffer-size for the
>>>>> "file"
>>>>> component.
>>>>>
>>>>
>>>> You buffer size was 64 * 1024 * 1024 which is 64 K * K = 64 MB. Or is
>>>> there something that play tricks on me?
>>>>
>>>> The file component already have a bufferSize option with a default of
>>>> 128kb
>>>> http://camel.apache.org/file2.html
>>>>
>>>> So you can use that to set what you want to use.
>>>>
>>>>
>>>>
>>>>> -Farhad S.
>>>>>
>>>>>
>>>>> Claus Ibsen-2 wrote:
>>>>>>
>>>>>> On Fri, Nov 27, 2009 at 2:00 PM, shirazi <m...@farhad.eu> wrote:
>>>>>>>
>>>>>>> Sure. I have attached the file.
>>>>>>> Actually I use from->to components for transfering files and I guess
>>>>>>> it
>>>>>>> copies the file, rather than moving.
>>>>>>>
>>>>>>
>>>>>> Ah makes more sense for copying to leverage NIO.
>>>>>>
>>>>>> Camel does this also but I can see that it may hit that 2gb limit as
>>>>>> it doesnt transfer in a loop using a lower buffer.
>>>>>>
>>>>>> It was doing it in a one liner
>>>>>>             in.transferTo(0, in.size(), out);
>>>>>>
>>>>>> I wonder if you really must do that in a loop to avoid any 2gb limit
>>>>>> or the likes?
>>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>> Farhad S.
>>>>>>> http://old.nabble.com/file/p26542125/Nio.java Nio.java
>>>>>>>
>>>>>>>
>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>
>>>>>>>> On Fri, Nov 27, 2009 at 1:37 PM, shirazi <m...@farhad.eu> wrote:
>>>>>>>>>
>>>>>>>>> Wau... thanks for that. I don't understand how I could miss it,
>>>>>>>>> cause
>>>>>>>>> i
>>>>>>>>> searched a lot for such a feature.
>>>>>>>>>
>>>>>>>>> Another thing that I have experienced in 2.0, is that the "file"
>>>>>>>>> component
>>>>>>>>> is unable to move/copy files larger than 2Gigs, such large files
>>>>>>>>> are
>>>>>>>>> cut
>>>>>>>>> around 2 Gigs limit. Now, I'm not sure if it has anything to do
>>>>>>>>> with
>>>>>>>>> the
>>>>>>>>> OS
>>>>>>>>> or the filesystems or what. I have seen it both in Linux (debian)
>>>>>>>>> and
>>>>>>>>> Mac
>>>>>>>>> OS
>>>>>>>>> X. And I don't understand either, why the file component does not
>>>>>>>>> use
>>>>>>>>> the
>>>>>>>>> NIO api or at least we don't have an option to tell it use the NIO
>>>>>>>>> api
>>>>>>>>> instead.
>>>>>>>>> Anyway, for now I've solved the problem by using a smiple component
>>>>>>>>> instead
>>>>>>>>> of the "file" comp. to move/copy files using the NIO api. It is
>>>>>>>>> much
>>>>>>>>> faster
>>>>>>>>> and it has no problem with very large files.
>>>>>>>>>
>>>>>>>>
>>>>>>>> For move it uses java.io.File rename and are you saying its not
>>>>>>>> optimized for the underlying OS?
>>>>>>>> I would assume that it could move a 2gb file in no time if the file
>>>>>>>> is
>>>>>>>> on the same share.
>>>>>>>>
>>>>>>>> Can you share your code that you are using?
>>>>>>>>
>>>>>>>>
>>>>>>>>> Bests,
>>>>>>>>> Farhad S.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>
>>>>>>>>>> On Fri, Nov 27, 2009 at 1:12 PM, shirazi <m...@farhad.eu> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>> Ok, I guess I should rather provide an AggregationStrategy.
>>>>>>>>>>> The reason why I use a timer is that when I use the ftp endpoint,
>>>>>>>>>>> it
>>>>>>>>>>> starts
>>>>>>>>>>> to fetch everything that is on the ftp in the first call and
>>>>>>>>>>> that's
>>>>>>>>>>> not
>>>>>>>>>>> what
>>>>>>>>>>> i want, because I'm processing files over 3 Gigs and there are
>>>>>>>>>>> many
>>>>>>>>>>> of
>>>>>>>>>>> them.
>>>>>>>>>>> Then I figured that by using a timer, i could have ftp to
>>>>>>>>>>> download
>>>>>>>>>>> one
>>>>>>>>>>> file
>>>>>>>>>>> at a time!!
>>>>>>>>>>> What I basically need is to somehow tell the ftp, how many files
>>>>>>>>>>> I
>>>>>>>>>>> want
>>>>>>>>>>> to
>>>>>>>>>>> fetch at a time. This is probably doable now in camel-2.1 by
>>>>>>>>>>> using
>>>>>>>>>>> the
>>>>>>>>>>> "ThrottlingInflightRoutePolicy", which i havn't tried yet.
>>>>>>>>>>> Do you have any suggestions?
>>>>>>>>>>
>>>>>>>>>> Yeah the FTP component extends the File component so you got all
>>>>>>>>>> the
>>>>>>>>>> options from the file component as well
>>>>>>>>>> http://camel.apache.org/file2.html
>>>>>>>>>>
>>>>>>>>>> And there is a maxMessagesPerPoll you can use to tell how many
>>>>>>>>>> files
>>>>>>>>>> you want at most to poll. For example = 1 in your use.
>>>>>>>>>>
>>>>>>>>>> And that option is avail in 2.0 also.
>>>>>>>>>>
>>>>>>>>>> In fact all these are as they are batch polling consumers
>>>>>>>>>> http://camel.apache.org/batch-consumer.html
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Bests,
>>>>>>>>>>> Farhad S.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi
>>>>>>>>>>>>
>>>>>>>>>>>> BTW why are you using a timer -> ftp when the ftp have a build
>>>>>>>>>>>> in
>>>>>>>>>>>> timer?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Nov 27, 2009 at 12:55 PM, shirazi <m...@farhad.eu> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>> Please consider the following route:
>>>>>>>>>>>>>
>>>>>>>>>>>>> from("timer://someTrigger?delay=30000&fixedRate=true&period=300000").
>>>>>>>>>>>>> pollEnrich("ftp://cmoreFtp?binary=true&localWorkDirectory=/tmp&idempotent=true&idempotentRepository=#caStreams";,
>>>>>>>>>>>>> 10000).
>>>>>>>>>>>>> to("file:///tmp/vw/cmore?tempPrefix=.inprogress");
>>>>>>>>>>>>>
>>>>>>>>>>>>> The pollEnrich cast a NullPointerException in camel-2.0, if
>>>>>>>>>>>>> there
>>>>>>>>>>>>> is
>>>>>>>>>>>>> nothing
>>>>>>>>>>>>> to fetch from the ftp. I got rid of the exception by a
>>>>>>>>>>>>> "try-catch(NullpointerExcpetion.class).stop()" around the
>>>>>>>>>>>>> route.
>>>>>>>>>>>>> Now
>>>>>>>>>>>>> in
>>>>>>>>>>>>> camel-2.1-SNAPSHOT, I get the following exception on the "to"
>>>>>>>>>>>>> endpoint:
>>>>>>>>>>>>> =================
>>>>>>>>>>>>> 12:37:06,899 INFO  [Tracer] >>>  -->
>>>>>>>>>>>>> file:///tmp/vw/cmore?tempPrefix=.inprogress_, Pattern:InOnly,
>>>>>>>>>>>>> Headers:{firedTime=Fri Nov 27 12:36:56 CET 2009},
>>>>>>>>>>>>> Exception:org.apache.camel.component.file.GenericFileOperationFailedException:
>>>>>>>>>>>>> Cannot store file:
>>>>>>>>>>>>> /tmp/vw/cmore/.inprogress_02216f38-8ffc-4aec-b638-27229d857075
>>>>>>>>>>>>> 12:37:06,899 INFO  [Tracer] >>>  -->
>>>>>>>>>>>>> file:///tmp/vw/cmore?tempPrefix=.inprogress_, Pattern:InOnly,
>>>>>>>>>>>>> Headers:{firedTime=Fri Nov 27 12:36:56 CET 2009},
>>>>>>>>>>>>> Exception:org.apache.camel.component.file.GenericFileOperationFailedException:
>>>>>>>>>>>>> Cannot store file:
>>>>>>>>>>>>> /tmp/vw/cmore/.inprogress_02216f38-8ffc-4aec-b638-27229d857075
>>>>>>>>>>>>> 12:37:06,899 ERROR [TimerConsumer] Cannot store file:
>>>>>>>>>>>>> /tmp/vw/cmore/.inprogress_02216f38-8ffc-4aec-b638-27229d857075
>>>>>>>>>>>>> org.apache.camel.component.file.GenericFileOperationFailedException:
>>>>>>>>>>>>> Cannot
>>>>>>>>>>>>> store file:
>>>>>>>>>>>>> /tmp/vw/cmore/.inprogress_02216f38-8ffc-4aec-b638-27229d857075
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:204)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:184)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:126)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:57)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:162)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:103)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:50)
>>>>>>>>>>>>>        at java.util.TimerThread.mainLoop(Timer.java:512)
>>>>>>>>>>>>>        at java.util.TimerThread.run(Timer.java:462)
>>>>>>>>>>>>> Caused by: org.apache.camel.InvalidPayloadException: No body
>>>>>>>>>>>>> available
>>>>>>>>>>>>> of
>>>>>>>>>>>>> type: java.io.InputStream on: Message: [Body is null]. Caused
>>>>>>>>>>>>> by:
>>>>>>>>>>>>> No
>>>>>>>>>>>>> type
>>>>>>>>>>>>> converter available to convert from type: null to the required
>>>>>>>>>>>>> type:
>>>>>>>>>>>>> java.io.InputStream with value null on the exchange:
>>>>>>>>>>>>> Exchange[Message:
>>>>>>>>>>>>> [Body
>>>>>>>>>>>>> is null]]
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:103)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.util.ExchangeHelper.getMandatoryInBody(ExchangeHelper.java:116)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:198)
>>>>>>>>>>>>>        ... 29 more
>>>>>>>>>>>>> Caused by: org.apache.camel.NoTypeConversionAvailableException:
>>>>>>>>>>>>> No
>>>>>>>>>>>>> type
>>>>>>>>>>>>> converter available to convert from type: null to the required
>>>>>>>>>>>>> type:
>>>>>>>>>>>>> java.io.InputStream with value null
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.impl.converter.DefaultTypeConverter.mandatoryConvertTo(DefaultTypeConverter.java:126)
>>>>>>>>>>>>>        at
>>>>>>>>>>>>> org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101)
>>>>>>>>>>>>>        ... 31 more
>>>>>>>>>>>>> ============
>>>>>>>>>>>>> Now, I can remedy the situation by a try-catch block or an
>>>>>>>>>>>>> interceptor,
>>>>>>>>>>>>> but
>>>>>>>>>>>>> in my opinion this should be considered a bug in camel and it
>>>>>>>>>>>>> should
>>>>>>>>>>>>> silently ignore if there was nothing to fetch from the ftp.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Bests,
>>>>>>>>>>>>> Farhad Shiraz
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26541447.html
>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>
>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> View this message in context:
>>>>>>>>>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26541650.html
>>>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>
>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26541877.html
>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> Apache Camel Committer
>>>>>>>>
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26542125.html
>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26542396.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26542472.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: 
> http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26543771.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to