Clause,
This is what my route looks like
from("file:C:/work/esb/filetestpoller/")//large file
exceeding 800M
.convertBodyTo(InputStream.class)
.splitter(customsplitter)//custom splitter(injected by spring)
that
returns a java.util.Collection
.process(requestprocessor)
.to("jms:responseoutbox");
I would prefer the custom splitter return java.util.Iterator instead of a
Collection, the reason why I am returning a collection is because if I
return an iterator I get an exception. The reason I am using a custom
splitter is to return a data structure ( a collection) that gets the data
from a persistent store (much like the claim check pattern) instead of
keeping the data in memory which will crash our system. Please let me know
if there is a better way of dealing with this issue.
Claus Ibsen-2 wrote:
>
> Hi
>
> Camel will convert whatever your expression returns to something that
> it iterates.
> For non streams it will walk the list before they are processed, so it
> will know the total size.
>
> If you have a very large document you can use streaming to split it
> on-the-fly.
> However then the total size is not known.
>
>
>
> On Wed, Apr 8, 2009 at 10:50 PM, javadevel <[email protected]> wrote:
>>
>> I need to use a splitter expression to split a very large document with
>> rather complex splitting requirement. Based on the documentation provided
>> on
>> the Apache Camel Splitter, I can write a Bean or implement the Expression
>> interface and return java.util.Collection or java.util.Iterator.
>> However,
>> it only works with collections because the iterator interface does not
>> provide a getSize method the Camel router can use to set the splittersize
>> header. If my observation is correct, please modify the documentation to
>> say
>> it must only return a java.util.Collection or modify the code so that it
>> supports iterator too. If it supports iterator it will be extremely
>> useful
>> because we may not always know the splittersize especially when the data
>> is
>> huge and passed as an inputstream.
>> --
>> View this message in context:
>> http://www.nabble.com/splitter-expression-tp22959250p22959250.html
>> Sent from the Camel - Users (activemq) mailing list archive at
>> Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> Apache Camel Reference Card:
> http://refcardz.dzone.com/refcardz/enterprise-integration
>
>
--
View this message in context:
http://www.nabble.com/splitter-expression-tp22959250p22971404.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.