gpt4 book ai didi

multithreading - Camel 并行处理选项

转载 作者:行者123 更新时间:2023-12-04 08:27:48 24 4
gpt4 key购买 nike

我正在使用 Camel 2.10 的 RedHat Fuse Service Works 处理 Camel 路由。

我想知道以下实现之间的区别:

1/使用 SEDA 路线

    from("A")
.split(body())
.to("seda:B");

from("seda:B?concurrentConsumers=4")
.routeId("MySEDATestRoute")
.to("C")
.end();

2/使用并行处理
   from("A")
.split(body())
.parallelProcessing()
.to("C");

3/使用线程
    from("A")
.split(body())
.threads()
.to("C");

从我所看到的方法 3(线程)允许配置线程池大小,这似乎与解决方案 1 (SEDA) 的“concurrentConsumers”相同。

如果我不向方法线程传递任何参数,方法 2 和方法 3 的行为是否相同?

提前致谢,

问候

最佳答案

您可以在1)、3)中设置线程号,但是1)仍然可以接收来自其他路由的消息,就像from(xxx).to("seda:B")。
2)您需要设置ExecutorService(或ThreadPool),否则parallelProcessing 将无法正常工作。

关于multithreading - Camel 并行处理选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com