您的位置:首页 > 运维架构

文件批量传输组件作为架包使用说明

2016-07-21 00:00 127 查看
摘要:  文件批量传输组件可作为一个工具架包,其他系统可调用方法进行文件传输相关操作,能对某个文件夹进行自动监控、多线程批量传输、文件md5对比、错误重传等。

文件批量传输组件可作为一个工具架包,其他系统可调用方法进行文件传输相关操作,能对某个文件夹进行自动监控、多线程批量传输、文件md5对比、错误重传等。文件批量传输组件作为系统直接使用见http://my.oschina.net/passerman/blog/715642。

1. 发送单文件不中转时

发送端代码例子:

FileClientConfig clientConfig=new FileClientConfig(false,true,false,"localhost",112);
/*		clientConfig.setAuthorityCheck(true);//权限验证
clientConfig.setAuthorityKey("password111"); //验证密锁
*/		FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
fileTransferClient.init();
//要发送的文件
String absolutePath="E:\\log.txt";
FileInfo fileInfo=new FileInfo();
fileInfo.setFilePath(absolutePath);
fileTransferClient.sendFile("\\log2.txt", fileInfo); //想保存的文件名

接收端代码例子:

//只作为接收主机
FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 112, false);
ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig);
//serverReceiveControl.addServerFilePlugin(new ServerFilePlugin());
//serverReceiveControl.addServerFilePlugin(new DemoServerFilePlugin());
ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse( serverReceiveControl);
ReceiveServerPulse.start();

2. 监控文件夹不中转时

发送端代码例子:

//不中转监控传输
FileClientConfig clientConfig=new FileClientConfig("E:\\upload",true,true,false,"localhost",111);
clientConfig.setTimerTaskPeriod(1000*30);//每30秒监控一次
/*clientConfig.setAuthorityCheck(true);//权限验证
clientConfig.setAuthorityKey("password111"); //验证密锁
*/		FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
/*fileTransferClient.getTransferControl().addClientFilePlugin(new DemoClientFilePlugin(fileTransferClient.getTransferControl()));//增加自定义拦截器
fileTransferClient.getTransferControl().addClientFilePlugin(new AuthorityClientFilePlugin(fileTransferClient.getTransferControl())); //添加验证拦截器
*/
fileTransferClient.init();

接收端代码例子:

与1相同。

3. 监控文件夹中转传输

发送端代码例子:

FileClientConfig clientConfig=new FileClientConfig("E:\\upload", true, true, true, "localhost", 111,"localhost",112,201);
clientConfig.setTimerTaskPeriod(1000*30);
clientConfig.setAuthorityCheck(true);//权限验证
clientConfig.setAuthorityKey("password111"); //验证密锁
FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
fileTransferClient.getTransferControl().addClientFilePlugin(new DemoClientFilePlugin(fileTransferClient.getTransferControl()));
fileTransferClient.getTransferControl().addClientFilePlugin(new AuthorityClientFilePlugin(fileTransferClient.getTransferControl())); //添加验证拦截器
fileTransferClient.init();

中转端代码例子:

FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 111, true); //文件接收配置类
ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig); //文件接收控制类
serverReceiveControl.addServerFilePlugin(new ServerFilePlugin());
serverReceiveControl.addServerFilePlugin(new DemoServerFilePlugin());
ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse(serverReceiveControl);
ReceiveServerPulse.start();

目标接收端代码例子:

//只作为接收主机
FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 112, false);
ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig);
ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse( serverReceiveControl);
ReceiveServerPulse.start();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息