Sorry, my mistake. Using the latest build from trunk, it works just fine. I
just tried it with a couple of files of 3 and 4 Gigs size. 

Thanks,
-Farhad S.


Claus Ibsen-2 wrote:
> 
> 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
> 
> 

-- 
View this message in context: 
http://old.nabble.com/camel-casts-exception-when-there-is-nothing-to-fetch-from-the-ftp-endpoint-tp26541447p26545371.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to