骆驼消费暂停怎么恢复

问题描述 投票:0回答:1

我创建了一个 航线政策 当路由中发生可配置数量的错误时,会暂停消费者。

在暂停消费者之前,我想 补办 在可配置的时间后(例如暂停后30分钟)。

有什么办法可以实现这个目标?

  • 我尝试使用 onExchangeBegin 的方法。但在测试中我发现,当路由被暂停时,它不再被执行(如我所想)。
  • 我试着创建了一个 SimpleScheduledRoutePolicy 但我没有找到在Camel上下文中注册这个新Bean的方法(由Spring支持)。
  • 因此,我目前在Camel上下文中创建了一个 TimerTask 的信息,向 骆驼控制总线 来恢复路线。这个方法可行,但感觉有点陌生,因为Camel不知道有这样的恢复任务。
  • 有没有其他更 "Camel原生 "的方法来达到我的目标?
apache-camel
1个回答
0
投票

在暂停消费者之前,你可以创建一个假文件。

让另一条路由轮询这个假文件,并设置一个过滤器,检查它是否是在30分钟前创建的。类似的东西。

from("file:dummyLocation?include=.dummy&delete=true&filter=#filterFileOlderThanThirtyMins)
.to("controlbus:route?routeId=suspendedRoute&action=start")

这只是我脑海中的想法!

© www.soinside.com 2019 - 2024. All rights reserved.