为什么骆驼路线多次执行?

时间:2020-09-08 08:16:41

标签: apache-camel

我正在尝试建立一个简单的骆驼路线,该路线从sqlite表读取并打印记录(以后将其写入文件)。

我设置的流程如下

bindToRegistry("sqlConsumer", new SqliteConsumer());
bindToRegistry("sqliteDatasource", dataSource());
from("sql:select * from recordsheet_record_1 where col_1 = 'A5'?dataSource=#sqliteDatasource")
.to("bean:sqlConsumer?method=consume")
.end();

还有下面的SqliteConsmer

public class SqliteConsumer {
    public void consume(Map<String, Object> data, Exchange exchange) {
        System.out.println("Map: '" + data + "'");
        //TODO: append to file
    }
}

当我执行路由时,它应该只执行一次(打印一次),但是,它继续打印……我在这里做错什么了吗?

我是骆驼框架的新手,因此非常感谢任何帮助或指南。

谢谢。

1 个答案:

答案 0 :(得分:1)

这是一个轮询使用者,因此会根据配置轮询源,您可以在此处找到更多信息:https://camel.apache.org/components/latest/eips/polling-consumer.html