Apache camel apache camel调度程序组件交换属性计时器\u名称为空
我正在开发一个类似这样的apache camel路线Apache camel apache camel调度程序组件交换属性计时器\u名称为空,apache-camel,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}&l
@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
@覆盖
public void configure()引发异常{
从(“调度器:间隔?初始延迟=1000&延迟=10000”)
.setProperty(“测试”,简单(“valueTest1”))
.log(“v1->${exchangeProperty.TIMER\u NAME}${exchangeProperty.TIMER\u Fireed\u TIME}${exchangeProperty.test}您使用了错误的名称,因为它们是在交换
接口上定义的常量,所以它们的值是
- 字符串计时器\u NAME=“CamelTimerName”
- 字符串计时器\u FIRED\u TIME=“CamelTimerFiredTime”
因此,在日志记录中使用CamelTimerName
。您也可以使用tracer查看发生了什么,而不是添加日志本身:.log(${exchangeProperty[CamelTimerFiredTime]}”).log(${exchangeProperty[CamelTimerName]})
工作得很好。但我现在想知道是否有办法不使用常量的实际值,而是使用变量的名称。有些东西${exchange….}
我一直在阅读,但我不太理解exchange或type部分。
[ead #2 - scheduler://intervalo] route1 INFO v1 -><-
[ead #2 - scheduler://intervalo] route1 INFO v2 -><-
[ead #2 - scheduler://intervalo] route1 INFO v3 ->valueTest1<-