I'introducin彈簧集成,而不是我們項目中的遺留集成架構。這種架構支持發送者和接收者。每個發件人可以配置3個目的地。彈簧整合備份通道
- 主要數據流,消息應該交付。那可以是 文件系統,jms,郵件等
- 備份流程。將每個收到的消息存儲到備份目標。通常它是文件appender,每個消息存儲在文件末尾。這也可以是jms隊列。如果整個系統發生故障並且數據丟失,備份使我們有機會獲得消息並重放
- 失敗流程。如果我們無法發送消息到目的地(無連接,格式化失敗,無法創建消息),則消息將被放入此隊列中。
春季集成網關看起來很合適。我可以使用主流的默認請求通道,錯誤流的錯誤通道。備份流的問題。如何複製網關傳入的消息並將其置於備份通道?
PS 更確切地說,這裏是測試和代碼。
https://github.com/semenodm/Coding-Exercises/tree/master/spring-integration/spring-integration/src
測試i_want_my_sender_put_message_into_fail_queue_when_sending_failed是失敗了,因爲搭線將始終把消息到其隊列無論失敗或主流的成功。
我不想添加自定義攔截器來處理這個邏輯,並使用配置來處理這個問題。
嗨攔截渠道是什麼可以幫忙。我想實現下面的行爲'try {sendMessage(msg); backupMessage(MSG); } catch(Exception e){putToFailQue(msg)}' – user1582639