camel是否为每条路线创建一个线程

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

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

route1:将文件从传入的folder1移动到folder2

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

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

任何人都可以解释我的路线如何运作。 camel(context)是否为每个路由创建一个线程。 究竟发生了什么?

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

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

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

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

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