2014-02-21 53 views
1

我有一個流程需要一對入站日期,然後使用消息豐富來獲取在這兩個日期之間工作的特定工作的員工列表。結果是從JDBC數據庫返回的一個簡單的映射列表。我沒有任何麻煩將它保存到流變量中。下一次充實正在給我帶來麻煩。我爲每個使用流變量中僱員列表的循環設置一個。這很好,然後我需要爲每個這些員工執行另一個JDBC查詢,以獲取它們在傳遞給流的兩個日期之間轉換的所有時間票。查詢工作正常,但我無法定義目標表達式來保存結果。我希望看到目標是一張以員工ID爲關鍵字的地圖,並以期間(地圖列表)作爲價值。有沒有辦法做到這一點?有沒有更好的方法來保存這些結果?獲得所有票據後,我需要以各種方式對其進行彙總,並生成一份顯示詳細信息和分析的報告。Mule Message Enricher目標表達式

我目前正在爲社區運行時版本3.4開發這個在mule工作室。

回答

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"/> 
+0

工作就像一個魅力。我纏繞在一個試圖使用豐富信息的軸上,並且無法獲得目標的正確表達。這完成了同樣的事情,並且(在我看來)更加靈活。謝謝您的幫助。 –