Переместить файл из FtpOutBoundGateway в другое удаленное местоположение с динамическим именем файла - PullRequest
0 голосов
/ 27 сентября 2018

Я использую FtpOutBoundGateway для перемещения одного файла в другое удаленное местоположение.Согласно весенней документации, атрибут выражения используется для предоставления пути «от», а выражение переименования используется для пути «к».Я предоставляю статический путь, и он работает нормально. Мой вопрос: как задать динамическое имя для выражения переименования?

Вот мой код

@Bean
@ServiceActivator(inputChannel = "ftpChannel")
public MessageHandler handler() {
    FtpOutboundGateway ftpOutboundGateway =
            new FtpOutboundGateway(sf(), "mv", "payload");
    ftpOutboundGateway.setRenameExpressionString("/processed/StaticFilename.xml");     
    ftpOutboundGateway.setOutputChannelName("results");
    return ftpOutboundGateway;
}

Вот интерфейс шлюза обмена сообщениями:

@MessagingGateway
public interface Gate {    
    @Gateway(requestChannel = "ftpChannel")
    void sendToFtp(String filePath, @Header("filename") String filename);

}

Есть ли способ установить ExpressionString динамически?

1 Ответ

0 голосов
/ 27 сентября 2018

В сообщении «полезная нагрузка» указывается имя файла перемещаемого файла.Так что это делает работу.

ftpOutboundGateway.setRenameExpressionString("'/processed/'+ payload");

Если вы хотите указать имя, другое имя, оригинальное имя, чем можно передать значение в заголовках и использовать его здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...