骡子消息Enricher目标表达

时间:2014-02-21 04:57:27

标签: mule mule-studio mule-el

我有一个流程,它接受一对日期入站,然后使用消息丰富程序获取在这两个日期之间处理特定作业的员工列表。结果是从JDBC数据库返回的简单映射列表。我把它保存到流变量中没有任何麻烦。下一次的充实让我感到麻烦。我为每个使用flow变量中的employees列表的循环设置了一个。这很好用,然后我需要为这些员工中的每一个执行另一个JDBC查询,以获得他们在传递给流的两个日期之间转入的所有时间票。查询有效,但我无法定义目标表达式来保存结果。我希望看到目标是一个以员工ID为密钥的地图,期间的门票(地图列表)就是值。有没有办法做到这一点?有没有更好的方法来保存这些结果?获得所有门票后,我需要以各种方式对它们进行总结,并生成一份显示详细信息和分析的报告。

我目前正在mule studio中为社区运行时版本3.4开发它。

1 个答案:

答案 0 :(得分:2)

这是你想要的东西吗?

<set-variable variableName="maplistmap" value="#[new java.util.HashMap()]"/>
<foreach>
  <jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="selekt" queryTimeout="-1" connector-ref="Database">
    <jdbc-ee:query key="selekt" value="select * from mytable where id = #[payload]"/>
  </jdbc-ee:outbound-endpoint>
  <scripting:component>
    <scripting:script engine="Groovy"><![CDATA[
        flowVars["maplistmap"].put(payload[0].id, payload)
    ]]></scripting:script>
  </scripting:component>         
</foreach>
<logger message="#[flowVars.maplistmap]" level="INFO"/>