apache-camel调度程序组件交换属性TIMER_NAME为空

时间:2018-03-01 12:16:20

标签: apache-camel

我正在开发像这样的apache camel路线

@Override
public void configure() throws Exception {
    from("scheduler:intervalo?initialDelay=1000&delay=10000")
        .setProperty("test",simple("valueTest1"))
        .log("v1 ->${exchangeProperty.TIMER_NAME}<-")
        .log("v2 ->${exchangeProperty.TIMER_FIRED_TIME}<-")
        .log("v3 ->${exchangeProperty.test}<-")         
    .end();
}//configure

我希望TIMER_NAME和TIMER_FIRED_TIME交换属性可以填充消费者被解雇的名称和时间。这在组件文档here中进行了解释。

但是日志没有显示

[ead #2 - scheduler://intervalo] route1                         INFO  v1 -><-
[ead #2 - scheduler://intervalo] route1                         INFO  v2 -><-
[ead #2 - scheduler://intervalo] route1                         INFO  v3 ->valueTest1<-

添加了测试属性以检查我是在制作语法还是类似错误。

为什么没有填写TIME_NAME和TIMER_FIRED_TIME?我认为我在语法或名称上做错了,但我找不到它。

提前多多谢谢你。

1 个答案:

答案 0 :(得分:2)

你使用了错误的名称,因为它们是在Exchange接口上定义的常量,然后它们的值是

  • 字符串TIMER_NAME =“CamelTimerName”;
  • 字符串TIMER_FIRED_TIME =“CamelTimerFiredTime”;

因此在日志记录中使用CamelTimerName。您还可以使用跟踪器查看发生了什么,而不是自己添加日志:http://camel.apache.org/tracer