我在应用程序中运行了两个单独的路径,我想控制整个路径上的飞行工作总量。
Route 1: Gzipped file on SFTP --> unzip --> local directory
Route 2: local directory --> process stuff --> Kafka
如果路由2出现问题或在工作中落后,我不希望路由1填满本地目录。如何限制等待处理的本地目录中的文件总数?
(如果是单一路线,我可以throttle()
更容易,但还有其他选项可以查看多条路线的整体情况吗?)
答案 0 :(得分:3)
您可以实现自定义RoutePolicy
,其中检查该目录中的文件数量,如果它大于X,则暂停路由,如果低于X,则再次恢复。
在Camel文档中查看更多详细信息:http://camel.apache.org/routepolicy.html
您可以查看现有的ThrottlingInflightRoutePolicy
如何实现灵感。