如何将两条独立的骆驼路线连接起来进行限制

时间:2016-11-10 14:50:58

标签: apache-camel

我在应用程序中运行了两个单独的路径,我想控制整个路径上的飞行工作总量。

Route 1:  Gzipped file on SFTP --> unzip --> local directory
Route 2:  local directory --> process stuff --> Kafka

如果路由2出现问题或在工作中落后,我不希望路由1填满本地目录。如何限制等待处理的本地目录中的文件总数?

(如果是单一路线,我可以throttle()更容易,但还有其他选项可以查看多条路线的整体情况吗?)

1 个答案:

答案 0 :(得分:3)

您可以实现自定义RoutePolicy,其中检查该目录中的文件数量,如果它大于X,则暂停路由,如果低于X,则再次恢复。

在Camel文档中查看更多详细信息:http://camel.apache.org/routepolicy.html

您可以查看现有的ThrottlingInflightRoutePolicy如何实现灵感。