Apache Camel - Mybatis选择参数和useIterator

时间:2018-01-18 15:21:16

标签: apache-camel mybatis

我正在尝试将Apache Camel(版本2.20.0)与mybatis组件一起使用。 更具体地说,我必须从数据库到文件导出大的集合或记录。 我想防止内存问题所以我想使用选项consumer.useIterator。我的路线是:

from("mybatis:selectItemsByDate?statementType=SelectList&consumer.useIterator=true")
    .split()
    .body()
        .process(doSomething)
        to(file:my-path-file);

但是我的查询在输入中有一个参数(获取数据的开始日期)。我该如何设置此参数? 在互联网上的许多例子中,我看到了Exchange消息的正文或标题中的参数,但我认为只有当mybatis端点处于“to”方法时才有可能。但是只有当enpdoint处于“from”方法时,选项“consumer.useIterator”才有效。

请帮助我理解如何为我的查询设置输入或者是否还不支持(在这种情况下,如果您可以提供一些提示,如何实现将很棒)

谢谢。

1 个答案:

答案 0 :(得分:0)

然后你需要从其他东西开始你的路由,比如计时器或直接端点,然后在to中调用mybatis端点,你在mybatis查询中使用的消息体/头中设置了这些信息,它的动态。

此外,您应该将分割器设置为流模式,以便它按照mybatis按需获取迭代器。