我使用Spring集成的文件和ftp功能來實現它認爲所有文件 寫入加密的目錄,然後ftp'ed到目標目錄中的流動。消息的有效負載是文件Spring集成 - 文件消息流
File Inbound Poller -> Custom Encryption -> Outbound FTP -> Handle Original File
'自定義加密'服務需要一個文件名,然後返回加密文件的名稱。出站FTP服務工作,並在傳輸成功或失敗時,加密文件名稱將被移至特定文件夾。
新的要求是我需要移動原來的文件名,而不是加密的。我不確定什麼是正確的方式來實現這個或我有什麼選擇?
File Inbound Poller -> Custom Encryption -> Outbound FTP
| |
> > -> Handle Original File
我已經使用分離器/聚合器圖案,以生成出站的ftp階段之後被重新aggreated的第二消息考慮的第一個想法但這似乎不正確,因爲分離器部未產生兩個不同的消息,而複製原件。
謝謝。我曾想過按照選項2使用標題,但覺得這可能會有點作弊,因爲我不想爲標題添加一個名稱/值的負載。就選項1而言,爲了返回ftp操作的值,我會再次設置標題值? – emeraldjava 2013-02-12 14:29:54
最後一個問題 - 對於'request-handler-advice-chain'是否有可能在鏈中同時擁有RequestHandlerRetryAdvice和ExpressionEvaluatingRequestHandlerAdvice bean? – emeraldjava 2013-02-12 14:33:37
不確定你的意思是「FTP結果」;如果成功,線程將正常返回,如果拋出異常,它將不會調用第二個訂閱者(默認情況下 - 它可以被忽略失敗覆蓋)。關於頭文件 - 這是一種常見的方法 - 例如, 做同樣的事情。實際上,我們甚至提供了一個常量(FileHeaders.ORIGINAL_FILE)。 –
2013-02-12 16:14:19