Den 30. sep. 2010 kl. 14:05 skrev Claus Ibsen <claus.ib...@gmail.com>:

> On Thu, Sep 30, 2010 at 12:22 PM, Tarjei Huse <tar...@scanmine.com> wrote:
>>  On 09/29/2010 01:31 PM, Claus Ibsen wrote:
>>> On Wed, Sep 29, 2010 at 12:44 PM, Tarjei Huse <tar...@scanmine.com> wrote:
>>>>  Hi, I got a huge file I want to split into smaller chunks and send each
>>>> chunk as a new message using the splitter. The file contains Protobuf
>>>> objects so I cannot use any of the normal splitting methods, but I want
>>>> to use the streaming() method on the route. How do I create a splitter
>>>> that supports this?
>>>> 
>>> Just let the method return an Iterator type and then you can return
>>> the data in chunks as you like.
>>> The streaming mode will then walk the iterator on demand until hasNext
>>> returns false.
>> Duh!
>> 
>> I'm quite sure that you have answered this question to me before and I
>> have forgotten. Sorry about that. I'll try to update the wiki so I do
>> not repeat my questions.
>> 
>> One thing though, do I have to set streaming mode explicitly when using
>> an iterator or will that come implicitly then?
>> 
> 
> No the streaming() mode actually only controls whether Camel will walk
> the iterate one time, or on-the-fly.
> One time means it walks it beforehand and stores the result in memory,
> so it knows the complete size before splitting begins.
> That information is then populated on the Exchange. So you know that
> the total size is eg 8. For streaming() you will not know the total
> size.
Ok. I'm not by my computer now, but I think I tried  
.split().method(myobj,'method').streaming() and got a compilation error. 

Mvh
Tarjei Huse
Mob 930 63 413


> 
> 
> 
>> Regards,
>> Tarjei
>>> 
>>>> I.e:
>>>> FileSplitter fs = new FileSplitter();
>>>>  from("file://myfile")
>>>>            .routeId(InjectFiles.class.getSimpleName())
>>>>            .split().method(fs,
>>>> "splitMessage").streaming().stopOnException()
>>>> 
>>>> 
>>>> --
>>>> Regards / Med vennlig hilsen
>>>> Tarjei Huse
>>>> Mobil: 920 63 413
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
>> --
>> Regards / Med vennlig hilsen
>> Tarjei Huse
>> Mobil: 920 63 413
>> 
>> 
> 
> 
> 
> -- 
> 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