下面的测试代码不起作用如何在Camel中使用** direct **端点执行并行处理?
from("direct:start").setExchangePattern(ExchangePattern.InOnly).threads(5).delay(2000).bean(MessageHeaderValidator.class);
虽然SEDA是另类,指Camel seda document。建议使用直接端点。
线程池
要知道,做一些如添加一个线程池来一个SEDA端点:
from("seda:stageName").thread(5).process(...)
能结束了两个BlockQueues:一个是从SEDA端点,和一个从线程池的workqueue,这可能不是你想要的。相反,你可能希望配置一个线程池的Direct端点,它可以同步和异步处理消息。例如:
from("direct:stageName").thread(5).process(...)
您也可以直接配置上使用concurrentConsumers选项SEDA端点 处理消息的线程数。
什么不起作用?谁说使用seda组件不被推荐? –
代码并不像骆驼文档中提到的那样并行执行。 这里介绍的建议是 http://camel.apache.org/seda.html –
您不应该将我们的SEDA端点与线程池一起使用。但使用一个或另一个是可以的。 –