有沒有一種方法可以在現有文件中使用mule文件出站連接器追加行?有這種處理數百萬條消息的要求,併爲每條消息在文件中添加一行新數據。在Mule中使用文件出站來實現這個最優化的方法是什麼?Mule:在一個文件中爲基於mule的消息系統添加行
1
A
回答
1
無論何時想要將行添加到已存在的文件中,都可以將'outputAppend'屬性設置爲true。
<file:connector name="File" autoDelete="true"
outputAppend="true" streaming="true" validateConnections="true"
doc:name="File" />
此外,你還可以使用批處理模塊來處理數百萬條消息的。欲瞭解更多信息,請檢查:http://www.mulesoft.org/documentation/display/current/Batch+Processing
1
Clare對outputAppend="true"
的說法是正確的,但請注意,當您使用它時,活動調度程序的最大數量會降至1,這可能會嚴重影響性能。另一方面,我假設你想要的只是一個文件,並在最後添加一些內容,所以你需要一個文件輸入源。在這種情況下,您可以在文件連接器中配置「工作目錄」,並使用與文件出站端點的輸出路徑相同的目錄。 這樣,文件被文件入站端點取走並移動,然後由文件出站端點取得,最後添加有效載荷。 因此,文件內容永遠不會消耗,只需在文件末尾添加配置的有效負載即可。
下面的示例配置:
<file:connector name="File" autoDelete="false" outputAppend="true" streaming="true" validateConnections="true"/>
<flow name="appendPayloadToFile">
<file:inbound-endpoint path="/source-dir/" connector-ref="File" responseTimeout="10000" />
<set-payload value="ADDED-CONTENT"/>
<file:outbound-endpoint path="/target-dir/" connector-ref="File" responseTimeout="10000"/>
</flow>
如果這個解決方案不是高性能的話,你可以嘗試創建一個自定義的Java組件,需要從入站端點文件,關閉它,然後再次打開它的輸出和附加所需的內容。
如果你有一些工作流程請分享。
HTH, Marcos
相關問題
- 1. Mule將元素添加到XML消息
- 2. 消息在Mule中的例外出隊
- 3. Mule:跟蹤消息類型
- 4. mule esb - VM隊列消息
- 5. 從Mule在MSMQ中創建消息
- 6. Mule消息當前在VM隊列中
- 7. 在信息中加入信息mule esb
- 8. 在Mule節流Mule郵件
- 9. 如何在Mule文件中設置系統修改日期
- 10. Mule Echo組件更改消息
- 11. 從java類中的mule讀取消息
- 12. Mule ESB作爲基於TCP的消息傳遞協議(多個持久連接)的消息路由器
- 13. 如何從一個Mule消息流中的RAML中獲取消息
- 14. Mule-ESB:基於HTTP狀態的Mule過濾器
- 15. Mule消息屬性的使用
- 16. 爲什麼附件方法不適用於Mule中的多部分消息?
- 17. 爲什麼要將基於郵件的服務間通信系統轉換爲基於消息的系統
- 18. Mule 1.3在'mule-configuration'下面有'mule-descriptor'的配置文件無法驗證
- 19. 如何在mule變換消息中附加/連接字符串?
- 20. Mule將值添加到xml
- 21. Mule FunctionalTestCase - 是否爲每個測試加載mule服務器?
- 22. 關於基於unix的文件系統的文件信息
- 23. 在Mule中添加用戶和傳遞給SOAP頭文件
- 24. Mule CXF消費webservice
- 25. Mule合併HTTP響應消息
- 26. Mule ESB HornetQ JMS消息未發佈
- 27. Websphere MQ和mule避免消息丟失
- 28. 如何通過Ruby訪問Mule消息?
- 29. mule所有消息路由器
- 30. Mule:文件傳輸中的異常處理Mule流程