Hello Mohit, My advice is to update to the latest version of FtpServer. A lot of improvements and bugfixes have been added since your version was released. >From and old config file of mine i see this:
config.connection-manager.default-idle-time=1000 config.connection-manager.timeout-poll-inverval=60 2009/2/3 Mohit Anchlia <[email protected]> > I looked at the various manuals but nothing is clearly document about > how to set the idle timeout. I have couple of questions? > > 1. On linux can I set idle-timeout on EmbeddedFtpServer outside of JVM > but either logging in ftp server or by any other means? > 2. I have below code (that I haven't written) that I need to modify to > add idle-timeout. But when I add > "config.listeners.default.data-connection.idle-timeout" I get > org.apache.ftpserver.FtpServerConfigurationException: Unknown property > "idle-timeout" on class > org.apache.ftpserver.DefaultDataConnectionConfig exception. > How do I add idle-timeout? > > public static FtpServer createFtpServer(int port, String username, > String password, String homeDir) throws Exception { > ConfigurableFtpServerContext context = new > ConfigurableFtpServerContext(new > PropertiesConfiguration(getFtpProperties(port))); > PropertiesUserManager userManager = > (PropertiesUserManager)context.getUserManager(); > addUser(userManager, username, password, homeDir); > > FtpServer ftpServer = new FtpServer(context); > return ftpServer; > } > > public static Properties getFtpsProperties(int port, String > keystoreLoc) throws IOException { > Properties p = new Properties(); > if (keystoreLoc == null) keystoreLoc = "./dist/ftp/.keystore"; > // Enable FTPS (SSL) > p.put("config.listeners.default.implicit-ssl", "false"); > p.put("config.listeners.default.port", Integer.toString(port)); > p.put("config.listeners.default.ssl.class", > "org.apache.ftpserver.ssl.DefaultSsl"); > p.put("config.listeners.default.ssl.keystore-file", keystoreLoc); > p.put("config.listeners.default.ssl.keystore-password", "password"); > p.put("config.listeners.default.ssl.keystore-type", "JKS"); > p.put("config.listeners.default.ssl.keystore-algorithm", "SunX509"); > p.put("config.listeners.default.ssl.ssl-protocol", "TLS"); > p.put("config.listeners.default.ssl.client-authentication", > "false"); > p.put("config.listeners.default.ssl.key-password", "password"); > > // Enable encrypted data channel > p.put("config.listeners.default.data-connection.class", > "org.apache.ftpserver.DefaultDataConnectionConfig"); > p.put("config.listeners.default.data-connection.ssl.class", > "org.apache.ftpserver.ssl.DefaultSsl"); > log.info("SETTING IDLE TIMEOUT"); > p.put("config.listeners.default.data-connection.idle-timeout", > "300"); > log.info("DONE SETTING IDLE TIMEOUT"); > // p.put("config.listeners.default.data-connection.passive.address", > "localhost"); > p.put("config.listeners.default.data-connection.passive.ports", > "5000-5010"); > p.put("config.listeners.default.data-connection.ssl.keystore-file", > keystoreLoc); > > p.put("config.listeners.default.data-connection.ssl.keystore-password", > "password"); > p.put("config.listeners.default.data-connection.ssl.keystore-type", > "JKS"); > > p.put("config.listeners.default.data-connection.ssl.keystore-algorithm", > "SunX509"); > p.put("config.listeners.default.data-connection.ssl.ssl-protocol", > "TLS"); > > p.put("config.listeners.default.data-connection.ssl.client-authentication", > "false"); > > p.put("config.connection-manager.max-connection", 100); // No Limit > p.put("config.connection-manager.max-login", 100); // No Limit > > // User Manager > p.put("config.file-system-manager.create-home", "true"); > // p.put("config.user-manager.class", > "org.apache.ftpserver.usermanager.PropertiesUserManager"); > // p.put("config.user-manager.admin", "efe"); > // p.put("config.user-mananger.prop-file", userfile); > // p.put("config.user.manager.prop-password-encrypt", "false"); > // > // System.out.println("UserFile = " + userfile); > return p; > } >
