Apache Camel - 带有参数和 useIterator 的 Mybatis select
Apache Camel - Mybatis select with parameters and useIterator
我正在尝试将 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 消息的 body 或 header 中看到了参数,但我认为只有当 mybatis 端点在 "to" 方法中时才有可能。但是选项 "consumer.useIterator" 仅在 enpdoint 在 "from" 方法中时才有效。
请帮助我了解如何为我的查询设置输入,或者这是否不受支持(在这种情况下,如果你能给出一些如何实施的提示会很好)
谢谢。
然后你需要从其他东西开始你的路由,比如定时器或直接端点,然后调用 mybatis 端点,你已经在你使用的消息 body/header 中设置了该信息mybatis 查询所以它是动态的。
此外,您应该将拆分器设置为流模式,以便它遍历从 mybatis on-demand 获取的迭代器。
我正在尝试将 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 消息的 body 或 header 中看到了参数,但我认为只有当 mybatis 端点在 "to" 方法中时才有可能。但是选项 "consumer.useIterator" 仅在 enpdoint 在 "from" 方法中时才有效。
请帮助我了解如何为我的查询设置输入,或者这是否不受支持(在这种情况下,如果你能给出一些如何实施的提示会很好)
谢谢。
然后你需要从其他东西开始你的路由,比如定时器或直接端点,然后调用 mybatis 端点,你已经在你使用的消息 body/header 中设置了该信息mybatis 查询所以它是动态的。
此外,您应该将拆分器设置为流模式,以便它遍历从 mybatis on-demand 获取的迭代器。