Just wanted to post the following useful caveat: if FtpServer is run in any way other than from a main() method, it does not accept client connections. The debugger shows it as constructed and valid-but no client can connect to it. It is not that login fails-the USER command never even gets submitted to FtpServer, because a connection is never opened between client and server.
This is not a problem when the FtpServer.start() method is called from a main() method-in that case it DOES accept connections. It just does not accept connections if its .start() method is called through normal Spring API approach, or any other way. Of course, this makes it useless for enterprise applications, which don't provide a way to remotely call a main() method in a Main class. Spring has no way to, for the same reason. The FtpServer instance Can be instantiated, and Can be started---it just will never accept any connections.
