下面的测试代码不起作用

from("direct:start").setExchangePattern(ExchangePattern.InOnly).threads(5).delay(2000).bean(MessageHeaderValidator.class);


尽管seda是替代方法,但请参考Camel seda document。建议改用直接端点。

线程池

请注意,通过执行以下操作将线程池添加到SEDA端点:

from("seda:stageName").thread(5).process(...)


可以结束两个BlockQueue:一个来自SEDA端点,一个来自线程池的工作队列,这可能不是您想要的,相反,您可能希望配置一个带有线程池的Direct端点,该线程池可以处理消息同步和异步。例如:

from("direct:stageName").thread(5).process(...)


您还可以直接配置在SEDA端点上处理消息的线程数
使用parallelConsumers选项。

最佳答案

对于并行处理,请将Camel的SEDA组件与concurrentConsumers选项一起使用:

from("seda:stageName?concurrentConsumers=5")
    .process(...);

07-24 20:33