Description:
When using VFS transport to send file using FTP, the connection timeout and retry count are reported has null by the apache classes. and therefore assume default values inside the apache vfs code.
Create proxy with a send mediator using VFS FTP address. In this proxy, define the vfs parameters transport.vfs.ReconnectTimeout and transport.vfs.MaxRetryCount.
increase the log level on VFS FTP classes
execute the proxy and validate the log entries.
The following log entries are experienced:
TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the fileURI : ftp://userQA:passqa@10.XXX.XX.XXX/QA/AXXXXXES/XXXXXXion_Test.csv?transport.vfs.ReconnectTimeout=10&transport.vfs.MaxRetryCount=5 {org.apache.synapse.commons.vfs.VFSOutTransportInfo}
TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the maxRetryCount : 5 {org.apache.synapse.commons.vfs.VFSOutTransportInfo}
TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the reconnectionTimeout : 10000 {org.apache.synapse.commons.vfs.VFSOutTransportInfo}
TID: [-1234] [] [2018-05-08 15:11:18,819] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the append : false {org.apache.synapse.commons.vfs.VFSOutTransportInfo}
TID: [-1234] [] [2018-05-08 15:11:18,819] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - File locking : OFF {org.apache.synapse.commons.vfs.VFSOutTransportInfo}
TID: [-1234] [] [2018-05-08 15:11:18,819] WARN {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory} - Invalid connection timeout null. Set the connectionTimeout as 5000. (default) {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory}
TID: [-1234] [] [2018-05-08 15:11:18,819] WARN {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory} - Invalid connection retry count null. Set the connectionRetryCount as 5. (default) {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory}
It looks like there the parameters defined in the proxy are not passed to the apache classes. I try to look into the code to see if there was any other parameter that could be used to defined the apache parameters but could not find any.
Description: When using VFS transport to send file using FTP, the connection timeout and retry count are reported has null by the apache classes. and therefore assume default values inside the apache vfs code.
Suggested Labels: vfs ftp connection timeout retry
Affected Product Version: EI6.2
Steps to reproduce:
The following log entries are experienced: TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the fileURI : ftp://userQA:passqa@10.XXX.XX.XXX/QA/AXXXXXES/XXXXXXion_Test.csv?transport.vfs.ReconnectTimeout=10&transport.vfs.MaxRetryCount=5 {org.apache.synapse.commons.vfs.VFSOutTransportInfo} TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the maxRetryCount : 5 {org.apache.synapse.commons.vfs.VFSOutTransportInfo} TID: [-1234] [] [2018-05-08 15:11:18,818] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the reconnectionTimeout : 10000 {org.apache.synapse.commons.vfs.VFSOutTransportInfo} TID: [-1234] [] [2018-05-08 15:11:18,819] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - Using the append : false {org.apache.synapse.commons.vfs.VFSOutTransportInfo} TID: [-1234] [] [2018-05-08 15:11:18,819] DEBUG {org.apache.synapse.commons.vfs.VFSOutTransportInfo} - File locking : OFF {org.apache.synapse.commons.vfs.VFSOutTransportInfo} TID: [-1234] [] [2018-05-08 15:11:18,819] WARN {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory} - Invalid connection timeout null. Set the connectionTimeout as 5000. (default) {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory} TID: [-1234] [] [2018-05-08 15:11:18,819] WARN {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory} - Invalid connection retry count null. Set the connectionRetryCount as 5. (default) {org.apache.commons.vfs2.provider.ftp.FtpClientFactory$FtpConnectionFactory}
It looks like there the parameters defined in the proxy are not passed to the apache classes. I try to look into the code to see if there was any other parameter that could be used to defined the apache parameters but could not find any.