嵌入FtpServer

原文地址:http://mina.apache.org/ftpserver-project/embedding_ftpserver.html

FtpServer设计成可以非常轻易的嵌入到你的应用。获取一个基本的服务并简单启动。

FtpServerFactory serverFactory = new FtpServerFactory();

FtpServer server = serverFactory.createServer();

// startthe server

server.start();

让它运行你需要将如下JAR加入到你的classpath:

(1)mina-core.2.0-M3或更新版本

(2)slf4j-api

(3)选择一个SLF4J的一个实现,例如slf4j-simple-1.5.3.jar

(4)ftplet-api

(5)ftpserver-core

现在,你可能需要配置特定的服务器。例如,你可能想运行在Linux/Unix没有root授权的端口上。如果你要那样做需要配置一个监听。监听是FtpServer完成网络管理的一部分。默认情况下,只有一个名为“default”的监听被创建,但是你可以添加更多的监听。例如一个建立在防火墙外一个在里面。

现在,让我们配置默认的监听器等待连接。

FtpServerFactory serverFactory = new FtpServerFactory();

ListenerFactory factory = new ListenerFactory();

// 给监听设置端口

factory.setPort(2221);

// 替换默认监听

serverFactory.addListener("default",factory.createListener());

// 启动一个服务

FtpServer server = serverFactory.createServer();

server.start();

现在,让我们的客户端对于default监听使用FTPS(基于SSL的FTP)

FtpServerFactory serverFactory = new FtpServerFactory();

ListenerFactory factory = new ListenerFactory();

// 设置监听端口号

factory.setPort(2221);

// 定义SSL配置

SslConfigurationFactory ssl = new SslConfigurationFactory();

ssl.setKeystoreFile(new File("src/test/resources/ftpserver.jks"));

ssl.setKeystorePassword("password");

// 给监听设置SSL配置

factory.setSslConfiguration(ssl.createSslConfiguration());

factory.setImplicitSsl(true);

// 替换默认监听

serverFactory.addListener("default",factory.createListener());

PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();

userManagerFactory.setFile(new File("myusers.properties"));

serverFactory.setUserManager(userManagerFactory.createUserManager());

// 启动服务

FtpServer server = serverFactory.createServer();

server.start();

你可能感兴趣的:(嵌入FtpServer)