我正在尝试将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”才有效。
请帮助我理解如何为我的查询设置输入或者是否还不支持(在这种情况下,如果您可以提供一些提示,如何实现将很棒)
谢谢。答案 0 :(得分:0)
然后你需要从其他东西开始你的路由,比如计时器或直接端点,然后在to中调用mybatis端点,你在mybatis查询中使用的消息体/头中设置了这些信息,它的动态。
此外,您应该将分割器设置为流模式,以便它按照mybatis按需获取迭代器。