在mule esb中迭代结果集迭代器

时间:2016-01-19 14:38:59

标签: java groovy mule anypoint-studio

我正在尝试从数据库中选择记录,并将输出设为org.mule.module.db.internal.result.resultset.ResultSetIterator@6f6d8fa8 我想遍历记录,为了其他目的,我尝试了foreach消息处理器,但内部为每个也得到结果集而不是map.I我期待map或list有一种方法从结果集迭代器转换为map或list in骡。

3 个答案:

答案 0 :(得分:0)

ResultSetIterator实现了Java Iterator。迭代迭代器时返回Map<String, Object>

这意味着您可以使用Java方式:

ResultSetIterator iter = ...

while(iter.hasNext()) {
    Map foo = iter.next()
    /* Do something with foo */
}

或者,您可以使用Groovy GDK添加的方法,例如each(Closure)

ResultSetIterator iter = ...

iter.each {
   /* Do something with 'it' variable, which would be a Map */
}

答案 1 :(得分:0)

如果您取消选中数据库组件中的“streaming”选项,则返回的对象将是一个地图列表。然后您可以迭代您想要查看的地图! :)

答案 2 :(得分:-1)

Mule带有内置组件imports: [ AngularFireModule.initializeApp(environment.firebaseConfig), AngularFirestoreModule, AngularFireDatabaseModule, AngularFireFunctionsModule, AngularFireAuthModule, ], 。它使您可以遍历数据库中的所有结果集。

<foreach>