После обновления версии интеграции Spring с 4.3.12 до 5.2.5 новое исключение произошло следующим образом:
org.springframework.messaging.MessageHandlingException: ошибка в обработчике сообщений [bean ' ollSrFeedbackDeliver $ child.ollSrFeedbackOutboundGateway.handler 'для компонента' ollSrFeedbackDeliver $ child.ollSrFeedbackOutboundGateway '; определено в: 'ресурс пути к классу [config / olltms / olltms_srFeedback_context.xml]'; из источника: '' int-sftp: outbound-gateway 'с id =' ollSrFeedbackOutboundGateway '']; вложенное исключение - org.springframework.messaging.MessagingException: не удалось выполнить в сеансе; вложенное исключение - org.springframework.core.NestedIOException: не удалось переименовать из /out/DCS_SR_FEEDBACK/SVR3oBweZKH7sf5Lf1Szlef-20200618211747550.xml в /out/DCS_SR_FEEDBACK/backupBfleSVR501 / DCS_SR_FEEDBACK/backupBf3 / SVR501 / 2BFXXXXXXXXX вложенное исключение - 2: такого файла нет
наша конфигурация выглядит следующим образом:
<int-sftp:inbound-streaming-channel-adapter id="ollSrFeedbackInboundAdapter"
comparator="sftpFileModifiedTimeComparator"
session-factory="cachingSftpSessionFactory"
channel="ollSrFeedbackInputChannel"
filename-pattern="${filename-pattern}"
remote-file-separator="/"
remote-directory="${sr-feedback-remote-directory}">
<int:poller fixed-delay="${sftp-in-fixed-delay}"/>
</int-sftp:inbound-streaming-channel-adapter>
использовать исходящий шлюз для перемещения файла в папку резервного копирования:
<int-sftp:outbound-gateway session-factory="cachingSftpSessionFactory"
id="ollSrFeedbackOutboundGateway"
command="mv"
expression="headers.file_remoteDirectory+'/'+headers.file_remoteFile"
rename-expression="headers.file_remoteDirectory+'/backup/'+headers.file_remoteFile"
/>
До обновления все работало нормально, а после обновления возникли проблемы. После проверки журнала jsch найдите:
DEBUG [task-scheduler-2] SftpSession: - File: /out/DCS_SR_FEEDBACK/SVR3oBweZKH7sf5Lf1Szlef-20200618211747550.xml was successfully renamed to /out/DCS_SR_FEEDBACK/backup/SVR3oBweZKH7sf5Lf1Szlef-20200618211747550.xml
DEBUG [task-scheduler-3] SftpSession: - Initial File rename failed, possibly because file already exists. Will attempt to delete file: /out/DCS_SR_FEEDBACK/backup/SVR3oBweZKH7sf5Lf1Szlef-20200618211747550.xml and execute rename again.
DEBUG [task-scheduler-3] SftpSession: - Delete file: /out/DCS_SR_FEEDBACK/backup/SVR3oBweZKH7sf5Lf1Szlef-20200618211747550.xml succeeded. Will attempt rename again
есть ли что-нибудь изменилось после обновления?