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

Apache camel 为什么骆驼路线执行多次?,apache-camel,Apache Camel,我正在尝试设置一个简单的camel路由,它从sqlite表中读取并打印记录(稍后将写入文件) 下面是我设置的流程 bindToRegistry("sqlConsumer", new SqliteConsumer()); bindToRegistry("sqliteDatasource", dataSource()); from("sql:select * from recordsheet_record_1 where col_1 = 'A5'?d

我正在尝试设置一个简单的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
    }
}
公共类SqliteConsumer{
公共void消费(地图数据、交换){
System.out.println(“映射:“+”数据+“””);
//TODO:附加到文件
}
}
当我执行路由时,它应该只执行一次(打印一次),但是,它会继续打印。。。我做错什么了吗

我是新的骆驼框架,所以任何帮助或指导将不胜感激


谢谢。

这是一个轮询消费者,因此它会根据配置轮询源,您可以在此处找到更多信息:

感谢Luca的回复。我有一个小小的疑问——当我试图读取csv文件时,它并没有重复。是否数据库读取器以轮询方式工作,而不是文件读取器?这取决于您配置文件端点的情况,请参阅文档