簡體   English   中英

Spring集成 - 聚合分散消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM