我是Camel的新手,我想知道是否有可能在将Camel标头消息值转换为参数化查询之前将其转换为?我使用Camel和Spring启动。
在下面的例子中,我想要对象" o"例如,自动转换为字符串,并将其注入查询。
from(" direct:test")。setHeader(" y",o).to(" sql:select * from x where a =:#y&# 34;)
有可能吗?感谢
答案 0 :(得分:0)
from("direct:test").setHeader("y", o).to("bean:someBean?method=somePublicMethod").to("sql:select * from x where a = ${body}")
编写一个id为someBean的bean类,或者只将该类命名为SomeBean,并在其中编写一个名为somePublicMethod的公共方法。在里面你可以转换并将结果设置为驼峰消息体。像这样的东西
public void handleFiegeReadyEvent(Exchange exchange){
exchange.getIn().getBody(); // retrieve the body of the message from previous stage. Cat it ti appropriate type.
// do whatever you want to do here and generate the result
exchange.getIn().setBody(result);
exchange.getIn().setHeader("key1", value1);
exchange.getIn().setHeader("key2", value2);
}