Spring 集成 Java DSL : 创建 sftp 出站适配器
Spring integration Java DSL : creating sftp outbound adapter
我想使用 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();
首先,outboundAdapter
之后的 .channel(uploadChannel())
没有意义,无法访问。因为FileTransferringMessageHandler
是单向的MessageHandler
,没有reply
转发到下游
REPLACE
可以作为重载Sftp.outboundAdapter
方法的第二个参数来实现:
.handle(Sftp.outboundAdapter(sessionfactory(), FileExistsMode.REPLACE)
我想使用 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();
首先,outboundAdapter
之后的 .channel(uploadChannel())
没有意义,无法访问。因为FileTransferringMessageHandler
是单向的MessageHandler
,没有reply
转发到下游
REPLACE
可以作为重载Sftp.outboundAdapter
方法的第二个参数来实现:
.handle(Sftp.outboundAdapter(sessionfactory(), FileExistsMode.REPLACE)