Hi all,
We use Mina FtpServer in on of our applications as a way to upload files.
Normally this goes without problems, but we observe with a large number of
files that the client(Jftp[1]), can open connections to the machine running
the ftp server.
The client negotiates a socket for the data transfer and tries to connect,
but there is no socket on the server open. So I was wondering if anybody
else have experienced something similar. Not sure where to start my
debugging, I can see in the client code that sockets are closed after each
file is uploaded correctly. And the port is in the open rage on the server.
Is there anything in the setup of the server that could cause this. My
spring configuration file is below
<ftp:server id="myServer">
<ftp:listeners>
<ftp:nio-listener name="default" port="2221"
idle-timeout="60">
</ftp:nio-listener>
</ftp:listeners>
<ftp:db-user-manager encrypt-passwords="salted" >
<ftp:data-source>
<beans:bean class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName"
value="org.postgresql.Driver" />
<beans:property name="url" value="jdbc...."/>
<beans:property name="username" value="user" />
<beans:property name="password" value="pass" />
<beans:property name="maxActive" value="5" />
<beans:property name="maxIdle" value="2" />
<beans:property name="maxWait" value="1000" />
<beans:property name="removeAbandoned" value="true" />
<beans:property name="removeAbandonedTimeout" value="60"
/>
</beans:bean>
</ftp:data-source>
<ftp:insert-user>INSERT INTO FTP_USER (userid, userpassword,
homedirectory, enableflag, writepermission, idletime,
uploadrate,
downloadrate) VALUES ('{userid}', '{userpassword}',
'{homedirectory}',
'{enableflag}', '{writepermission}', {idletime}, {uploadrate},
{downloadrate})</ftp:insert-user>
<ftp:update-user>UPDATE FTP_USER SET
userpassword='{userpassword}',homedirectory='{homedirectory}',enableflag={enableflag},writepermission={writepermission},idletime={idletime},uploadrate={uploadrate},downloadrate={downloadrate}
WHERE userid='{userid}'</ftp:update-user>
<ftp:delete-user>DELETE FROM FTP_USER WHERE userid = '{userid}'
</ftp:delete-user>
<ftp:select-user>SELECT * FROM
FTP_USER WHERE userid = '{userid}'</ftp:select-user>
<ftp:select-all-users>SELECT userid FROM FTP_USER ORDER BY
userid
</ftp:select-all-users>
<ftp:is-admin>SELECT userid FROM FTP_USER WHERE
userid='{userid}' AND
userid='admin'</ftp:is-admin>
<ftp:authenticate>SELECT userpassword from FTP_USER WHERE
userid='{userid}'</ftp:authenticate>
</ftp:db-user-manager>
</ftp:server>
The configuration is pretty standard. There are nothing in the mina log, I
log on Debug level.
Does anyone have any tips on this?
[1] http://j-ftp.sourceforge.net/