You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Tim Dudgeon <td...@gmail.com> on 2014/12/03 13:24:31 UTC

Re: general approach to streaming

Yes, I know about SEDA, and use it quite a bit, but its not really what 
I'm after here.
I'm wanting to pass an Iterable such as a Blocking Queue directly 
between processors.

Tim

On 28/11/2014 02:44, today wrote:
> Tim, the SEDA component is designed to produce/consume messages quickly and
> provides a queue (BlockingQueue) in between resources to buffer the flow and
> provides options such as max size and blockWhenFull to limit memory usage
> and slow a producer as needed, etc...
>
> http://camel.apache.org/seda.htm
>
>
> Tim Dudgeon wrote
>> I've got various cases where I have large number of results (POJOs) and
>> want to stream them so that:
>> 1. initial results are returned immediately
>> 2. memory utilisation is kept under control
>>
>> I was expecting to use something like using a BlockingQueue [1] but
>> according to the Javadocs:
>>
>>   > A BlockingQueue does not intrinsically support any kind of "close" or
>> "shutdown" operation to indicate that no more items will be added.
>>
>> which seems to be essential and I can't find any obvious way to handle
>> this.
>> Am I missing something obvious here?
>>
>> [1]
>> https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html
>>
>>
>> Tim
>
>
>
>
> -----
> Ben O'Day
> IT Consultant -http://consulting-notes.com
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/general-approach-to-streaming-tp5759483p5759732.html
> Sent from the Camel - Users mailing list archive at Nabble.com.


Re: general approach to streaming

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Maybe take a look at RX Java and the camel-rx component

On Wed, Dec 3, 2014 at 1:24 PM, Tim Dudgeon <td...@gmail.com> wrote:
> Yes, I know about SEDA, and use it quite a bit, but its not really what I'm
> after here.
> I'm wanting to pass an Iterable such as a Blocking Queue directly between
> processors.
>
> Tim
>
>
> On 28/11/2014 02:44, today wrote:
>>
>> Tim, the SEDA component is designed to produce/consume messages quickly
>> and
>> provides a queue (BlockingQueue) in between resources to buffer the flow
>> and
>> provides options such as max size and blockWhenFull to limit memory usage
>> and slow a producer as needed, etc...
>>
>> http://camel.apache.org/seda.htm
>>
>>
>> Tim Dudgeon wrote
>>>
>>> I've got various cases where I have large number of results (POJOs) and
>>> want to stream them so that:
>>> 1. initial results are returned immediately
>>> 2. memory utilisation is kept under control
>>>
>>> I was expecting to use something like using a BlockingQueue [1] but
>>> according to the Javadocs:
>>>
>>>   > A BlockingQueue does not intrinsically support any kind of "close" or
>>> "shutdown" operation to indicate that no more items will be added.
>>>
>>> which seems to be essential and I can't find any obvious way to handle
>>> this.
>>> Am I missing something obvious here?
>>>
>>> [1]
>>>
>>> https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html
>>>
>>>
>>> Tim
>>
>>
>>
>>
>>
>> -----
>> Ben O'Day
>> IT Consultant -http://consulting-notes.com
>>
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/general-approach-to-streaming-tp5759483p5759732.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/