Spring集成Java DSL:创建sftp出站适配器

时间:2015-03-17 19:48:23

标签: spring-integration

我想使用DSL创建流程。流程来自频道并发送至sftp outbound adapter。如何发送文件模式? REPLACE

IntegrationFlows.from(uploadChannel())
                .handle(Sftp.outboundAdapter(sessionfactory())
                                .charset(Charset.forName("UTF-8"))
                                .remoteFileSeparator("\\")
                                .remoteDirectory(beaconSendProperties.getFtpLocation())
                                .fileNameExpression("payload.getName()")
                                .autoCreateDirectory(true)
                                .useTemporaryFileName(true)
                                .temporaryFileSuffix(".tranferring")
                                .fileNameExpression("fileNameGenerator")
                )
                .channel(uploadChannel())
                .get();

1 个答案:

答案 0 :(得分:0)

首先.channel(uploadChannel()) outboundAdapter之后的FileTransferringMessageHandler没有意义且无法获得。因为MessageHandler是单行reply,并且没有REPLACE转发到下游流程。

Sftp.outboundAdapter可以作为重载.handle(Sftp.outboundAdapter(sessionfactory(), FileExistsMode.REPLACE) 方法的第二个参数来实现:

{{1}}