[
https://issues.apache.org/activemq/browse/CAMEL-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=53932#action_53932
]
Adam Brewster commented on CAMEL-1962:
--------------------------------------
On a third look today, and after reviewing
[http://www.eecs.harvard.edu/~mdw/papers/mdw-phdthesis.pdf], I think that it
will take more than a few lines to bring this component into line with the SEDA
ideas and to get it into a state where it's really useful to me. In
particular, I think three critical features are missing:
- SEDA queues are one way. A producer shouldn't wait for a response. If one
needs a response, then a direct:// endpoint may be more appropriate. This
would cause problems in the VM component, though.
- SEDA components should have admission control over their queue. While
limiting the length of the queue is a start, it's not really enough.
- SEDA stages don't necessarily have one output. A stage can deposit work
into any number of other queues. Routing from seda:// seems peculiar.
I like the ideas that camel introduces but it's starting to look like
integrating it into my current project is going to cause more issues that it
solves, so I'm going to put it on the shelf for a bit.
> Seda producer throws if queue is full
> -------------------------------------
>
> Key: CAMEL-1962
> URL: https://issues.apache.org/activemq/browse/CAMEL-1962
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 1.6.1, 2.0.0
> Environment: Java SE 5
> Reporter: Adam Brewster
> Attachments: 0001-seda-don-t-throw-IllegalStateException.patch
>
> Original Estimate: 30 minutes
> Remaining Estimate: 30 minutes
>
> The LinkedBlockingQueue used by the SedaComponent supports a couple of
> different ways to insert an object into the queue.
> - Collection.add adds the element immediately if possible or throws an
> IllegalStateException if the queue is full
> - BlockingQueue.offer adds the element immediately if possible or returns
> false if the queue is full
> - BlockingQueue.put waits if necessary and adds the element when space is
> available
> SedaProducer extends CollectionProducer which holds a reference to a
> collection, so it has to use the add method specified by the Collection
> interface.
> I suggest that either of the BlockingQueue methods would be superior.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.