Hi

I can answer your first question. Yes Spring Beans is first class citizens in 
Camel. Check the bean component.
http://activemq.apache.org/camel/bean.html

So you don't need the processor.

from("seda:someBean").to("bean:mybean).to("seda:someOtherBean");
This is the pipes and filters pattern, but you can express this in a nested 
pipeline if you want (not many do this)
http://activemq.apache.org/camel/pipes-and-filters.html

from("seda:someBean").pipeline("bean:mybean", "seda:someOtherBean");
With the pipeline you loose fine grain control as with the to you can do other 
stuff inbetween the next to such as

from("seda:someBean").to("bean:mybean).setHeader("myHeader", 
constant("hello").to("seda:someOtherBean");

You can check out the SEDA component wiki documentation:
http://activemq.apache.org/camel/seda.html
And the source code:
https://svn.apache.org/repos/asf/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/

I am sure James, Hadrian or some of the other Camel riders can answer or sheed 
more lights on your SEDA questions. But to my knowledge Camel isn't (yet) so 
advanced regarding the SEDA.


Med venlig hilsen
 
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk

-----Original Message-----
From: RobMMS [mailto:[EMAIL PROTECTED] 
Sent: 22. august 2008 15:50
To: camel-user@activemq.apache.org
Subject: SEDA with Apache Camel


Hi there,
I've got a few questions regarding SEDA and the SEDA Component in Apache
Camel, because we want to convert our current architecture into a SEDA-based
one, using Apache Camel. Since I'll probably going to do this as my diploma
thesis, I'm not yet that deep into Camel and especially Spring, so please
excuse if i might ask some "stupid" questions ;-)

So what we're planning to do is to have multiple stages where we want to do
some processing. These stages should actually be Spring Beans. We want to
link those processing steps/stages event based (-> SEDA). Here is where
Camel comes in.

So, first question is: is it possible to do something like
from("seda:someBean").process(new
MyProcessingBean()).to("seda:someOtherBean");,
where MyProcessingBean is our Spring Bean used as a processor?

Next question is, how is the internal seda processing actually done, because
for me, the seda-component looks like some kind of black box, where i can
just define a size parameter for the queue. 
As far as I know about seda each stage should consist of the following:
- Incoming Event Queue (which can be sized by the size-parameter?)
- Admission Controller
- Dynamically sized Thread Pool
- Event Handler (this would be the processor?)
- Ressource Controller

Do these components really exist here, so i can control them, maybe even
through Java DSL? or do I have to implement them on my own? and if so how
could/should I do that?

So being concrete, is it possible to (dynamically) change the queue size
and/or to restrict access to the queue and do some handling to those events
being rejected? (this is what the Admission Controller would do). 
Is it possible to notify a Ressource Controller about the queue size, so
that he could react by, e.g. increasing the Thread Pool?

Or is this just done internally by the SEDA-component, and I actually don't
have to concern about that?
Would it be possible override default behaviour? (i.e. to override the
Seda-Component)



I hope my issues have somewhat become clear, and i'd really appreciate some
information about that.

thx alot,
Rob





-- 
View this message in context: 
http://www.nabble.com/SEDA-with-Apache-Camel-tp19107574s22882p19107574.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to