升级至Camel 4.1后Exchange中Timer属性消失问题咨询
Camel 4.1 Timer属性迁移说明
- Camel 4.1版本中,Timer组件不再将
TIMER_NAME、TIMER_PERIOD等属性直接存入Exchange的properties集合,这就是你无法通过exchange.getProperty()获取到它们的原因。 - 现在需通过
TimerEvent对象访问这些属性,步骤如下:- 从Exchange中获取
TimerEvent实例:TimerEvent timerEvent = exchange.getProperty(TimerConstants.TIMER_EVENT, TimerEvent.class); - 通过
TimerEvent的方法获取对应属性:- 获取定时器名称:
timerEvent.getTimerName() - 获取周期:
timerEvent.getPeriod()
- 获取定时器名称:
- 从Exchange中获取
- 若需兼容旧代码,可在路由中添加处理器,将
TimerEvent中的属性重新存入Exchange properties,或直接替换原有属性获取逻辑为上述方式。
内容的提问来源于stack exchange,提问作者user1233043
相关产品推荐
相关产品推荐

