断点续传简明二次开发以及测试手册_第1页
断点续传简明二次开发以及测试手册_第2页
断点续传简明二次开发以及测试手册_第3页
断点续传简明二次开发以及测试手册_第4页
断点续传简明二次开发以及测试手册_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 二次开发接口导入com.ibm.mqtrans. mqtransinterface类、com.ibm.mqtrans.model.transinfo类、com.ibm.mqtrans.model.transinfo,com.ibm.mqtrans.model .recevefiledata类com.ibm.mqtrans. mqtransinterface类提供了以下几个接口方法:initfromconfig(string configfilename)此方法是静态方法,在调用mq断点续传接口时仅仅需要调用此接口一次configfilename:是所需要的配置文件的绝对路径名方法:int

2、sendfile(string absolutfilename,string receivername,transinfo transinfo)发送文件到mq服务器中。参数:absolutfilename:要发送的文件名receivername:此文件的接收者,使用时请置nulltransinfo:存储了发送的字节数目等信息,使用此方法时每使用一次请创建此对象一次。返回值:/* * -6:没有足够的可用线程来启动分块传输,请过段时间重试 * -5:没有空闲的服务线程服务 * -4:要发送的文件不能够读取,不能够继续 * -3:要发送的不是文件 * -2:要发送的文件不存在 * -1:失败 *

3、0:成功 * 1:无法取得与mq队列管理器的连接 * 2:与mq队列管理器的连接无效,即出现网络失效错误 */方法:list getreceivefilelist(string receivername,int count) 从mq服务器中取得可以下载的文件列表参数: receivername:接收者,使用时请置null count:需要此接口的返回数目,如置上50返回值: 返回能够接收的文件列表对象,此列表包含recevefiledata对象recevefiledata对象的定义:msgid:唯一标志能够接收的文件idchunkcount:此文件被分成几段上传的,也就意味着将分成几段同时下载

4、filelength:此文件的长度desc:此文件的描述信息,此信息的格式为:主机名+:+ip地址+:+文件名;tradecode:需要调用外部类的交易id,现在不支持方法:string recvfile(recevefiledata recevefiledata,string dirname,string receivername,transinfo transinfo,list errorlist)接收文件,调用此方法前 需要先调用getreceivefilelist参数:recevefiledata:调用getreceivefilelist方法返回的list中对应的对象,指明需要下载的文

5、件dirname:指定下载下来的文件需要存放的路径transinfo: 存储了接收的字节数目等信息,使用此方法时每使用一次请创建此对象一次。errorlist:错误信息的一些列表,主要是对应分段下载有多个信息1.1 如何编译和修改此系统此系统是采用java语言,eclipse ide环境实现,在相应的工程目录中,src目录是源代码的目录,lib 目录是系统所需要的外部库的目录(需要把这个目录中相应的jar文件加入到eclipse环境中)。jdk需要1.5。当然用jdk1.4.2也是可以进行编译和测试的,不过建议使用jdk1.5。2 配置文件定义112 01 32trans.filedatafi

6、letrans.controlfiletrans.control.finishc:temp3 系统初始化1、 安装mq服务器,并建立相应地队列管理器(如testqm),并且建立一个侦听器(如侦听1414端口)。2、 接口的日志信息记录是采用log4j库,所以如果更改相应的日志记录信息请修改log4j的配置文件3、 打开配置文件sysparamconfg.xml文件,找到queuename、filetranscontorlqueuename、filetranscontorlfinishqueuename三个节点修改相应的值或者不进行修改。并在队列管理器中建立此三个节点对应的值的队列名,(特别是需

7、要把filetranscontorlqueuename针对的最大深度值改大,如改成5千万)。示例:我们在总公司端安装了mq服务器,下面大概有31个分公司需要往总公司端传送数据。我们可以把这31家分公司按照一定的规则划分如下所示:| 华北(nc.qm 1414) |北京分公司|天津分公司 | | | 华东(ec.qm 2414) | | |上海分公司 | | | 浙江分公司 | |江苏分公司 | | |华南(sc.qm 3414) | | |广东分公司|其它(other.qm)针对华北地区建立一个队列管理器如nc.qm,其它几大地区类似,并且监听不同的端口号,如华北的1414,华东的2414等;

8、然后对每个地区如华东地区,由于上海、浙江、江苏这三家分公司的数据量都差不多,而其它分公司较少,所以我们对上海、浙江、江苏这三家分公司建立不同的队列来存放相应地数据(queuename、filetranscontorlqueuename、filetranscontorlfinishqueuename三个节点对应的数据每个分公司都不一样,如上海分公司为sh. trans.filedata, sh.filetrans.control, sh.filetrans.control.finish.浙江和江苏的都是类似,并且对于每个分公司都在服务端启动一个java进程来进行相应的接收工作)。4、 打开配置文

9、件sysparamconfg.xml文件,找到msgpersist节点,把此节点的值改成1的话将启用mq消息持久性,传输性能将下降1倍左右,但是在多个队列管理器组织成分布式队列管理器的时候请设置为1。5、 打开配置文件sysparamconfg.xml文件,找到controlmsgpersist节点,把此节点的值改成1,请不要把这个字段才成其它值。6、 打开配置文件sysparamconfg.xml文件,找到msgsize节点,可以修改此节点的值,如在带宽降低的情况下,这个值可以改小如4k/8k。7、 系统提供了相应的发送接口和接收接口,可以在接收接口的基础上开发一个模块,此模块定时如每个10

10、0毫秒,调用一次getreceivefilelist获取能够下载的文件列表,然后可以根据相应的需要 启动多个线程或者就启动一个线程,每个线程调用recvfile进行收取(当然线程也不需要启动过多)。8、 要运行系统请修改sysparamconfg.xml 文件mqparamset节点对应的连接信息。4 测试编写了两个客户端,一个是发送客户端和一个是接收客户端,启动的脚本分别是startsendtest.cmd和startrecvtest.cmd。这个客户端也是系统的测试程序,也是此系统接口调用的例子程序。如何启动这两个客户端呢?1 请从网站下载sun公司的最新版本的jdk1.5.2 修改set

11、env.cmd这个文件中的set java_home=c:program filesjavajdk1.5.0_06 这个java_home指向你安装jdk1.5的目录 3. 找一台机器安装mq server你可以修改可执行程序目录中的classes目录perties中相应地字段的值,使此接口输出的日志指向你所需要的路径 可以修改sysparamconfig.xml这个配置文件,来修改你要连接的mq服务器的地址和名称,也可以修改这个配置文件相应地值来更改此程序的行为(如修改msgsize字段来决定发送的消息大小和修改msgpersist字段来使接口是否启用持久性消息)4.1 发送测试此测试客户端可以演示网络中断,客户端进程被突然杀死,mq服务器突然当掉这些异常情况出现的断点续传。启动startsendtest.cmd脚本1.启动后程序界面:2点击选择文件,来选择你所需要发送的文件和目录3点击开始上传按钮,程序将显示相应地信息(如进度条,速率等信息)在这个途中,你可以拔掉网线,杀死这个进程,杀掉mq server进程,来测试发送的断点上传。4.2 接收测试此测试客户端可以演示网络中断,客户端进程被突然杀死,mq服务器突然当掉这些异常情况出现的断点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论