0
我在使用Camel/spring启动时在下面的插入语句期间得到“myHeaderValue”的问题。 当我运行程序时,我在控制台上看到“头文件的处理值为:1”,但是我收到一个异常错误骆驼交换传递异常。 预期的原因是“:#myHeaderValue”未填充在下面的查询中。如果我理解骆驼,我认为标题一直存在并传递给端点。骆驼春季开机 - 交换问题
请告诉我如何将#myHeaderValue传递给插入结束点。
springBootVersion:1.5.4.RELEASE 骆驼:2.19.1
from("sql:SELECT columnOne, columnTwo from t_item"
+ "?consumer.initialDelay=3000"
+ "&consumer.delay=3000"
+ "&outputClass=mypackage.model.Item")
.process(itemProcessor)
.log("Processed value from header is : ${header.myHeaderValue}")
.log("insert into t_item(columnOne, columnTwo) VALUES(${header.myHeaderValue}, 'two'")
.to("sql:insert into t_item(columnOne) SELECT 'data' FROM t_store whhere header = :#myHeaderValue")
.log("Row inserted")
.end();
//从ItemProcessor中
@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setHeader("myHeaderValue", "one");
}
您应该最有可能编写headers.myHeaderValue。注意标题中的“s”。 –