Hi, We are going to use SEDA for some parallel task execution. We use Camel 2.10.2. The problem with Seda is that it empties the queue even if there are 1000 messages in it. And if we decide to stop the router or the program, we'll lose all messages, which is not acceptable. Here is out route : from("activemq:request") .startupOrder(2) .to("seda:TRAITEMENTS_SAS"); from("seda:TRAITEMENTS_SAS?concurrentConsumers=4&size=4&blockWhenFull=true") .startupOrder(1) .shutdownRoute(ShutdownRoute.Defer) .shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks) .processRef("fromXmlProcessor") .log("message:${body}") .choice() .when(header("commandType).isEqualTo("sas") .processRef("sasProcessor") .processRef("toXmlProcessor") .to("activemq:response") .otherwise() .to("direct:Error") .end(); It seems that Seda does not care about our setting and keeps fetching all messages from the queue at once, before threading their processing (4 at time). Could anybody help us on this point. Thanks in advance and best regards Aliréza --
|
- Seda component problem Alireza BANAEI
- Re: Seda component problem Willem jiang