[英]Spring Integration - Aggregate Scattered Messages
我有一個Spring Integration應用程序,可將傳入的文件放入通道。 從那里我希望能夠將相同的文件發送到兩個不同的處理管道(一個歸檔到S3,另一個解析內容),然后有一個下游組件可以識別何時成功處理兩個,從而刪除實際的本地文件。
語義就像我需要一個Splitter / Aggregator,但不是拆分消息我需要復制它。
有沒有辦法用可用的組件實現這一點,還是需要一些自定義類?
是的, <publish-subscribe-channel/>
(使用apply-sequence="true"
)將與分割器類似地工作 - 但是通道的兩個訂戶都將獲得SAME File
對象。 默認情況下,兩個分支將以串行方式執行,但如果要並行處理,則可以引入ExecutorChannel。
如果您希望每個訂閱者獲得不同的File
對象,您可以添加一個轉換器...
<transformer ... expression="new java.io.File(payload.absolutePath)" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.