最近我开始使用camel,我发现它有可能满足我的许多集成层需求。
我创建了一个 java 客户端应用程序(不在任何容器中运行),其中定义了两条路由:
路线 1:将文件从传入文件夹 1 移动到文件夹 2
路线2:将文件内容从folderx移动到mq队列。
我启动我的应用程序,这些路由正在轮询这些文件夹并相应地路由消息。
谁能解释一下这些路线是如何运作的。 Camel(context) 是否为每个路由创建一个线程。到底发生了什么?
注意:我在骆驼网站上找不到关于此的简单注释。
这取决于您在路由中使用的组件、创建和使用的线程数量。
Camel 中的一些 EIP 支持多个线程(线程池),因此可以配置为使用 N 个线程。
在您的示例中,它是文件组件,并且它使用单个线程。由于您有 2 条路线,因此您将使用 2 个线程。某些组件还允许配置其线程(例如线程池)。例如,最近我们在 Camel 2.10 中添加了对文件组件的支持(请参阅 ScheduledExecutorService 选项:https://camel.apache.org/components/latest/file-component.html https://camel.apache.org/components/latest/file-component.html)
这里有一些关于Camel线程模型的注释http://camel.apache.org/threading-model.html http://camel.apache.org/threading-model.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)