我正在使用Apache Camel,我一直面临着sql组件的问题。 我只能执行插入查询,但简单的选择查询不会返回任何内容。 数据源配置正确,我没有错误。 我读到选择查询的结果是List>但我总是有空白的结果。
这是我的骆驼路线:
from("direct:start")
.to("sql:select * from infos where id=1 ?dataSourceRef=myDataSource")
.beanRef("MBean","monitor")
.to("log:result");
这是我试图用来处理结果的方法:
public Object monitor(Exchange exchange){
List<Map<String,Object>> l= (List<Map<String,Object>>) exchange.getOut().getBody();
Map<String,Object> map = l.get(0);
Object str = map.get("msg");
exchange.getIn().setBody(str);
return str;
}
我真的被卡住了..
答案 0 :(得分:1)
试试这个。它对我有用。
public void process(Exchange exchange) throws Exception {
List<HashMap> out = (ArrayList<HashMap>) exchange.getIn().getBody();
try{
for(HashMap outContent:out){
String message = outContent.get("output_obj").toString();
System.out.println(message);
}
}catch(Exception e){
System.out.println(e);
}
}