原文地址:http://mina.apache.org/ftpserver-project/embedding_ftpserver.html
FtpServer設(shè)計成可以非常輕易的嵌入到你的應(yīng)用速缆。獲取一個基本的服務(wù)并簡單啟動。
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的一個實現(xiàn)葡公,例如slf4j-simple-1.5.3.jar
(4)ftplet-api
(5)ftpserver-core
現(xiàn)在,你可能需要配置特定的服務(wù)器帜讲。例如羡疗,你可能想運行在Linux/Unix沒有root授權(quán)的端口上。如果你要那樣做需要配置一個監(jiān)聽漓帚。監(jiān)聽是FtpServer完成網(wǎng)絡(luò)管理的一部分篮昧。默認(rèn)情況下赋荆,只有一個名為“default”的監(jiān)聽被創(chuàng)建,但是你可以添加更多的監(jiān)聽懊昨。例如一個建立在防火墻外一個在里面窄潭。
現(xiàn)在,讓我們配置默認(rèn)的監(jiān)聽器等待連接酵颁。
FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
// 給監(jiān)聽設(shè)置端口
factory.setPort(2221);
// 替換默認(rèn)監(jiān)聽
serverFactory.addListener("default",factory.createListener());
// 啟動一個服務(wù)
FtpServer server = serverFactory.createServer();
server.start();
現(xiàn)在嫉你,讓我們的客戶端對于default監(jiān)聽使用FTPS(基于SSL的FTP)
FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
// 設(shè)置監(jiān)聽端口號
factory.setPort(2221);
// 定義SSL配置
SslConfigurationFactory ssl = new SslConfigurationFactory();
ssl.setKeystoreFile(new File("src/test/resources/ftpserver.jks"));
ssl.setKeystorePassword("password");
// 給監(jiān)聽設(shè)置SSL配置
factory.setSslConfiguration(ssl.createSslConfiguration());
factory.setImplicitSsl(true);
// 替換默認(rèn)監(jiān)聽
serverFactory.addListener("default",factory.createListener());
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
userManagerFactory.setFile(new File("myusers.properties"));
serverFactory.setUserManager(userManagerFactory.createUserManager());
// 啟動服務(wù)
FtpServer server = serverFactory.createServer();
server.start();