【发布时间】:2019-05-15 10:12:51
【问题描述】:
我正在使用以下命令读取文件
.handle(Sftp.outboundGateway(sftpSessionFactory(), GET,"payload.remoteDirectory + payload.filename").options(STREAM))
一旦数据流,我有一个处理成功和失败的建议。我想在成功的情况下重命名文件,我在重命名远程文件时遇到问题。我想重命名文件并在之后使用类似的建议进行错误处理。
.handle(service(), e -> e.advice(after()))
@Bean
public ExpressionEvaluatingRequestHandlerAdvice after() {
ExpressionEvaluatingRequestHandlerAdvice advice = new ExpressionEvaluatingRequestHandlerAdvice();
advice.setSuccessChannelName("success.input");
advice.setOnSuccessExpressionString("payload + ' was successful'");
advice.setFailureChannelName("failure.input");
advice.setOnFailureExpressionString("payload + ' was bad, with reason: ' + #exception.cause.message");
advice.setTrapException(true);
return advice;
}
@Bean
public IntegrationFlow success() {
return f -> f.handle(Sftp.outboundGateway(sftpSessionFactory(), MV, "payload").renameExpression("headers[file_renameTo]='gileName_read'")).log();
}
【问题讨论】:
标签: spring-integration spring-integration-dsl spring-integration-sftp