我使用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