Apache FtpServer数据库管理用户实现步骤
一 Proxool连接池配置
dbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://127.0.0.1\:3306/study
jdbc.username=root
jdbc.password=root
##数据库别名
jdbc.alias =study
##最大连接数
jdbc.maximum-connection-count=50
##最小连接数
jdbc.minmum-connection-conunt =5
##housekeeper检测到某个线程的活动时间大于这个数值.它将会杀掉这个线程默认是5分钟.
jdbc.maximum-active-time=50000
##house keeper 保留线程处于睡眠状态的最长时间,house keeper 的职责就是检查各个连接的状态,并判断是否需要销毁或者创建
jdbc.house-keeping-sleep-time=30000
##一个线程的最大寿命
jdbc.maximum-connection-lifetime=60000
##可用连接的最小数量
jdbc.prototype-count=2
##发现了空闲的数据库连接.house keeper 将会用这个语句来测试
jdbc.house-keeping-test-SQL=SELECT CURRENT_DATE
##连接池使用状况统计。 参数“10s,1m,1d”
jdbc.statistics=10s,1m,1d
## 详细信息设置
jdbc.verbose=true
##打印sql
jdbc.trace=true
##日志
jdbc.statistics-log-level=DEBUG
jdbc.simultaneous-build-throttle=1
jdbc.overload-wIThout-refusal-lifetime=10000
jdbc.fatal-SQL-exception=ORA-1234
二 Spring配置文件
classpath:jdbc.properties
三 Apache FtpServer server集成到Spring中,在Spring配置文件加入如下代码
四 数据库管理配置,在Server元素里加入如下配置代码
INSERT INTO FTP_USER (userid, userpassword,
homedirectory, enableflag, writepermission, idletime, uploadrate,
downloadrate) VALUES ('{userid}', '{userpassword}', '{homedirectory}','{enableflag}',
'{writepermission}', {idletime}, {uploadrate},{downloadrate})
UPDATE FTP_USER SET userpassword='{userpassword}',homedirectory=
'{homedirectory}',enableflag={enableflag},writepermission={writepermission},idletime={idletime}
,uploadrate={uploadrate},downloadrate={downloadrate}
WHERE userid='{userid}'
DELETE FROM FTP_USER WHERE userid = '{userid}'
SELECT userid, userpassword, homedirectory,
enableflag, writepermission, idletime, maxloginnumber,maxloginperip,uploadrate, downloadrate
FROM FTP_USER WHERE userid = '{userid}'
SELECT userid FROM FTP_USER ORDER BY userid
SELECT userid FROM FTP_USER WHERE userid='{userid}' AND userid='admin'
SELECT userpassword from FTP_USER WHERE userid='{userid}'
五 数据库Sql脚本
CREATE TABLE FTP_USER (
userid VARCHAR(64) NOT NULL PRIMARY KEY,
userpassword VARCHAR(64),
homedirectory VARCHAR(128) NOT NULL,
enableflag BOOLEAN DEFAULT TRUE,
writepermission BOOLEAN DEFAULT FALSE,
idletime INT DEFAULT 0,
uploadrate INT DEFAULT 0,
downloadrate INT DEFAULT 0,
maxloginnumber INT DEFAULT 0,
maxloginperip INT DEFAULT 0
);
第一个需要特别注意的是Server元素的声明空间,若是直接复制官方网站上提供的声明空间,在Server元素里在配置
Bean的话就会报错,刚开始自己就是直接复制官方网站上的,最后把测试用例的配置文件的声明空间复制过来就对了。
第二个需要注意的是就是若在官方网站上复制下的配置代码,需要在Select语句里加入最大登陆数
(maxloginnumber),IP数字段(maxloginperip)。不然就要报一个列名不存在的Sql异常,