【问题标题】:Does camel create a thread for each route骆驼是否为每条路线创建一个线程
【发布时间】:2021-05-12 15:39:26
【问题描述】:

最近我开始使用骆驼,我发现它可以解决我的很多集成层需求。

我创建了一个 java 客户端应用程序(不在任何容器中运行),我在其中定义了两条路由:

route1:将文件从传入的文件夹 1 移动到文件夹 2

route2:将文件内容从folderx移动到mq队列。

我启动我的应用程序,这些路由正在轮询这些文件夹并相应地路由消息。

谁能解释一下这些路线是如何运作的。骆驼(上下文)是否为每条路线创建一个线程。究竟会发生什么?

注意:我在骆驼网站上找不到关于此的简单说明。

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    这取决于您在路由中使用的组件、正在创建和使用的线程数。

    以及 Camel 中的一些 EIP 支持多线程(线程池),因此可以配置为使用 N 个线程。

    在您的示例中,它是文件组件,它使用单个线程。由于您有 2 条路线,因此您将使用 2 条线程。一些组件还允许配置它们的线程(例如线程池)。例如,最近我们在 Camel 2.10 中添加了对文件组件的支持(请参阅 https://camel.apache.org/components/latest/file-component.html 的 scheduleExecutorService 选项)

    这里有一些关于骆驼线程模型的注释 http://camel.apache.org/threading-model.html

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2020-05-13
      • 1970-01-01
      • 2018-08-08
      • 2013-08-01
      • 2022-01-24
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多