Я новичок в интеграции весной. Я прошу помочь мне в этом вопросе.sftp: файл для исходящего шлюза не работает
Я использую sftp: исходящий-шлюз для перемещения файла из одной папки в другую папку.
структура папок:
top-dir
- module-dir
- output-dir
filexyz.txt
- archive-dir
Я хочу, чтобы переместить filexyz.txt из вывода в папку архива.
Конфигурация:
<int-sftp:outbound-gateway
session-factory="ftpSessionFactory"
expression="payload.remoteDirectory + '/' + payload.filename"
request-channel="inChannel"
command="mv"
rename-expression="payload.remoteDirectory + '/' +
payload.filename.replaceFirst('output-dir','archive-dir')"
reply-channel="outChannel"/>
код Java:
DirectChannel moveChannel = context.getBean("inChannel",DirectChannel.class);
moveChannel.send(new GenericMessage<File>(new File("top-dir\module-dir\output-dir\filexyz.txt")));
я упомянул вопрос на how to replace string in SpEL expression?, но не может решить мою проблему.
Я получаю оценку выражений не сработало: payload.remoteDirectory + '/' + exceptionload.filename.
Я думаю, что я делаю что-то неправильно в Java-коде.
Пожалуйста, помогите мне.
Большое спасибо Гэри. Я мог бы решить проблему с пользовательской полезной нагрузкой. – mahajpan