免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10727 | 回复: 1
打印 上一主题 下一主题

[FastDFS] fdfs-java-pool连接池V1.0版本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-25 12:10 |显示全部楼层 |倒序浏览
本帖最后由 zhanghua1199 于 2012-12-25 12:11 编辑

fdfs--java--v1.0连接池.zip (21.79 KB, 下载次数: 488)
这是以前的版本说明,可以参考一下。
因为业务场景web管理平台上传文件,但由于使用fastdfs java api得到的连接并不支持多线程,但也不能每次申请一个接连之后就关闭(浪费资源)。故需要一个连接池来提高操作文件效率


以下是我看fastdfs java api源代码的时候总结出来的一点小东东,能明白就明白,不明白也行(写的比较乱)。

        使用storageClient上传文件时,如果storageServer为null,则程序自动
         创建trackerServer,根据trackerServer得到storageServer,并返回storageServer
         ,在返回storageServer之前会关闭trackerServer。通过storageServer上传完文件
         之后,关闭storageServer.
          反之storageServer不为null则不会被关闭。
         按这个逻辑,创建完storageClient,storageServer,则trackerServer就可以关闭了。
         其实不然,这样得到的storageClient上传文件只会上传到storageServer所指向的主机,比方说,

         现有a,b两台主机,程序获得的storageServer只指向a.以后使用storageclient上传的文件都会
         上传到a的storage,并不会上传b的storage.这样导致不平衡
         正常做法建议:trackerServer可以创建连接池,storageServer每次上传文件都重新创建一个。

目前发表这个是更新版,修改了几个bug,和增加了点功能。

1、本连接池是个人所写,公司内部在用()。
2、目前接口只提供了上传和删除操作,其它操作需要自己增加。

        连接池代码更新版,新增以下参数
        size--->连接池大小。默认2个
        waitTimes --->等待超时,默认两秒,单位为秒
        其它不变。一般构造形式如下:
        只带域名
        ImageServer ims=new ImageServerImpl("imageserver.com");
         
        带有端口形式如下:
        ImageServer ims=new ImageServerImpl("imageserver.com",22122);
         
        带有连接池大小构造如下:
        ImageServer ims=new ImageServerImpl("imageserver.com",22122,5);
         
        设置等待超时:
        ims.setWaitTimes( 5 ); //五秒
3、支持当管理平台的使用连接池与fdfs连接,当fdfs宕机,重启后,管理平台无需重启,连接自动建立。

论坛徽章:
0
2 [报告]
发表于 2012-12-25 12:13 |显示全部楼层
如果发现什么bug,望及时到
谢  212801927(群)里的指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP