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

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

我正在开发像这样的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?我认为我在语法或名称上做错了,但我找不到它。

非常感谢你提前。

apache-camel
1个回答
2
投票

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

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

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

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