Camel SQL组件 - 简单的选择查询结果

时间:2014-04-22 10:07:41

标签: sql apache-camel

我正在使用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;
}

我真的被卡住了..

1 个答案:

答案 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);
            }   
}