【发布时间】:2020-06-02 08:27:08
【问题描述】:
我创建了一个RoutePolicy,当路由中发生可配置数量的错误时,它会暂停消费者。
在我暂停消费者之前,我想确保它会在可配置的时间量(例如暂停后 30 分钟)后恢复。
实现这一目标的最佳方法是什么?
- 我尝试使用 RoutePolicy 的
onExchangeBegin方法。但是在测试中我发现当路由暂停时它不再执行(正如我假设的那样)。 - 我尝试在暂停路由之前创建一个SimpleScheduledRoutePolicy,但我没有找到在 Camel 上下文(由 Spring 支持)中注册这个新 Bean 的方法。
- 因此,我目前创建了一个TimerTask,它向Camel Control Bus 发送一条消息以恢复路由。这行得通,但感觉有点陌生,因为 Camel 不知道此类简历任务。
- 还有其他更“骆驼原生”的方式来实现我的目标吗?
【问题讨论】:
标签: apache-camel