Streaming如何为Mule数据库连接器工作?

时间:2016-11-10 15:22:12

标签: java oracle mule

我有一个流监听HTTP侦听器,流程在消息处理器下面

  1. 启用了Streaming的Oracle数据库消息处理器,它从表中选择100条记录并使用Fetch Size 20。
  2. 一个表达式组件,它将类型为org.mule.module.db.internal.result.resultset.ResultSetIterator的上述paylod转换为java.util.List类型的有效负载
  3. 根据我的理解,有效负载大小为20,因为Fetch Size设置为20.但是当我记录有效负载大小时,它是100。

    有人可以建议我对Streaming of Database连接器的理解是否正确?

1 个答案:

答案 0 :(得分:3)

通过这样做:

  

“org.mule.module.db.internal.result.resultset.ResultSetIterator into a a   java.util.List类型的有效负载“

你一次性将它全部读入记忆中。您需要使用迭代器来处理每组20条记录。像这个简单的例子:

http://grepcode.com/file/repo1.maven.org/maven2/org.mule.modules/mule-module-db/3.5.0/integration/select/select-streaming-chunk-config.xml