Yeah put the expression as a parameter to split, eg put it inside split( HERE ).streaming()
On Thu, Sep 30, 2010 at 2:34 PM, Tarjei Huse <tar...@scanmine.com> wrote: > > 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 > -- 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