8

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

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

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

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

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

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

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

4

1 回答 1

12

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

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

于 2012-08-28T05:37:54.003 回答