You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Antoine DESSAIGNE <an...@gmail.com> on 2016/10/24 08:57:35 UTC

Questions about seda's BlockingQueueFactory

Hello everyone,

We're currently creating a custom implementation of seda's
BlockingQueueFactory. We are a bit puzzled by the expected behavior of some
corner cases. I'll be more than happy to create a pull request with more
detailed javadoc afterwards.

So here are our questions. Thanks a lot if you have some answers.

A. When your implementation is always unbounded, should you throw an
exception when you call create(int capacity) ? Should you ignore this
parameter ? Some users might rely on the fact that it's bounded to a
particular size in order to avoid OutOfMemoryException during data bursts.

B. The ArrayBlockingQueueFactory default implementation doesn't use the
capacity passed in parameter, is this normal ? Maybe it is and I'll add
comments explaining why. Maybe it isn't and I'll fix it.

Once again, thanks for your answers !

Have a nice day,

Antoine.

Re: Questions about seda's BlockingQueueFactory

Posted by Matt Sicker <bo...@gmail.com>.
I've tried out a custom implementation before where I ignored the capacity
value (with a LinkedTransferQueue), and I've done it the other way around
where I needed to use a default capacity value (which was configurable as a
property in the factory class). Alas, that seems to be a general problem of
unbounded queues, though: the ability to run out of memory by accident.

On 24 October 2016 at 03:57, Antoine DESSAIGNE <an...@gmail.com>
wrote:

> Hello everyone,
>
> We're currently creating a custom implementation of seda's
> BlockingQueueFactory. We are a bit puzzled by the expected behavior of some
> corner cases. I'll be more than happy to create a pull request with more
> detailed javadoc afterwards.
>
> So here are our questions. Thanks a lot if you have some answers.
>
> A. When your implementation is always unbounded, should you throw an
> exception when you call create(int capacity) ? Should you ignore this
> parameter ? Some users might rely on the fact that it's bounded to a
> particular size in order to avoid OutOfMemoryException during data bursts.
>
> B. The ArrayBlockingQueueFactory default implementation doesn't use the
> capacity passed in parameter, is this normal ? Maybe it is and I'll add
> comments explaining why. Maybe it isn't and I'll fix it.
>
> Once again, thanks for your answers !
>
> Have a nice day,
>
> Antoine.
>



-- 
Matt Sicker <bo...@gmail.com>