camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vince Iglehart <vince.igleh...@kniferiver.com>
Subject SEDA with Aggregation
Date Fri, 21 Oct 2016 18:37:01 GMT
Hello,
I have some questions on how the SEDA component operates. I am using Camel
2.17.3 in a non clustered environment. 

I have a scenario where I need to 
1. Accept multiple incoming messages using a webservice
2. Aggregate messages using the $body of the message
3. After a lapse of 3 seconds, call RouteB in the same Camel context.
4. Allow RouteB to execute only when there is no message currently being
processed by RouteB. If there are new messages that come in, they must wait
until the current message is processed by RouteB. 

Here is what I have so far:

from("cxf://example.com/incoming").aggregate(simple("${body}"), new
BodyInAggregatingStrategy()).completionTimeout(3000).to("seda:routeB");

from("seda:routeB").to(...)

My understanding is that SEDA will block all incoming messages to RouteB
until the current message has been completed.  Am I correct? Will this
design guarantee that only 1 "instance" of routeB will be running at a time?

 



--
View this message in context: http://camel.465427.n5.nabble.com/SEDA-with-Aggregation-tp5789103.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message