You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to upload a file to an FTP / SFTP server, if the server is not available, the file remains locked. This blocks the rename / deletion of the file in post-processing.
Looking in RemoteFileTemplate, within the integration-file jar, it seems that inputStreamHolder is not closed if the FTP session could not be created. It will be closed successfully if there is an error once the session has been created ok; such as incorrect remote folder but not if the error occurs during session creation.
The code in question where the stream is opened:
public String send(final Message<?> message, final String subDirectory) {
Assert.notNull(this.directoryExpressionProcessor, "'remoteDirectoryExpression' is required");
final StreamHolder inputStreamHolder = this.payloadToInputStream(message);
if (inputStreamHolder != null) {
return this.execute(new SessionCallback<F, String>() {
...
Looking at the github master branch, this problem probably still exists in 4.1.
Tim McAuley opened INT-3537 and commented
When trying to upload a file to an FTP / SFTP server, if the server is not available, the file remains locked. This blocks the rename / deletion of the file in post-processing.
Looking in RemoteFileTemplate, within the integration-file jar, it seems that inputStreamHolder is not closed if the FTP session could not be created. It will be closed successfully if there is an error once the session has been created ok; such as incorrect remote folder but not if the error occurs during session creation.
The code in question where the stream is opened:
Looking at the github master branch, this problem probably still exists in 4.1.
Affects: 4.0.4
Referenced from: pull request #1300
Backported to: 3.0.6
The text was updated successfully, but these errors were encountered: