代码之家  ›  专栏  ›  技术社区  ›  Satheesh Kumar

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

  •  0
  • Satheesh Kumar  · 技术社区  · 9 年前

    嗨,我试图从数据库中选择记录,我得到的输出是 org.mule.module.db.internal.result.resultset.ResultSetIterator@6f6d8fa8 我想为了其他目的遍历记录,我尝试了每个消息处理器,但每个消息处理器的内部也得到了结果集而不是映射。我希望map或list有一种方法可以从结果集迭代器转换为mule中的map或列表。

    3 回复  |  直到 9 年前
        1
  •  0
  •   Emmanuel Rosa    9 年前

    这个 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 */
    }
    
        2
  •  0
  •   Larry Magallanes    9 年前

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

        3
  •  -1
  •   Ben Asmussen    5 年前

    Mule附带内置组件 <foreach> 。它允许您遍历数据库中的搜索结果集。

    <foreach>
        <logger level="INFO" message="Entry map: #[payload]" />
    </foreach>