使用commons.net 闰年 ftp文件的问题。
来源:互联网 发布:mac vim insert 编辑:程序博客网 时间:2024/05/16 15:31
2012年2月29日凌晨给核心系统进行了升级,升级的是后台的C程序。升级后时刻注意升级后的情况。
到10多的时候,到机房去看看运行情况,结果发现有好多人在机房解决问题,一打听,是前置等几个系统某些使用ftp主动获取文件的交易无法取得文件,再打听,不是无法从核心系统取得文件。看起来与我升级程序没有关系。看他们很忙的样子,我就知趣的离开了。
中午吃饭时,硬件主管刚端上饭准备吃呢,接到一个电话,意思是ftp文件失败的问题可能是网络变更导致的。饭没吃一口呢,就直接去机房了。看来上午那个问题还没有查到原因。
吃完饭回工位休息,看到硬件主管又出发去机房,忧心重重的样子。抱着试试看的心态,我也跟了过去。
机房里还是乱乱的,问题仍没有解决,有怀疑网络变更的,有怀疑程序的,运维主管开玩笑地说:跟你升级核心系统有关系吗?我当然是知道是没有关系的。但仍需要去解决,谁让咱是科技部的呢。
开始了解情况,在七嘴八舌中,了解了大概情况:
1. 从早上9点来钟开始,三个系统出现ftp从其他系统获取文件失败的情况,到现在仍是这个情况。
2. 用ftp 命令可以传文件。
3. 应用系统使用的是apache的开源软件,经查是,具体是commons-net.1.4.1,用其中的ftpClient。
4. 昨天这些系统的硬件、网络、系统都没有发生变更,昨天还好好的,今天就不能传文件了。
大家都很迷茫。
由于核心是凌晨上线,对2月29日这个日期我是比较敏感的,就提出我的怀疑:是不是与闰年有关?
然后提出行动1:看看在测试环境上是否也出现此问题。
结果问题复现了。看来确实是与闰年有关系。
那么是谁有这个问题呢?是操作系统?还是别的什么东西?
我首先怀疑的是commons-net。也有怀疑别的方面的。
按照我的怀疑,提出行动2:从网上下载commons-net的较新和稳定版,上官网一看:现在已经是3.1了,需要Java 1.5或以上。 经确认,这几个系统的jre都在1.5以上。
提出行动3:把新版本拿到测试上试试看。
结果是,问题解决了。
剩下的就是测试,提出上线方案,发通知等等流程上的事情了,我的嫌疑成功洗脱。
后上网查看,发现1.4.1版本在在get 2月29日生成的文件时,存在bug, 详见 http://commons.apache.org/net/changes-report.html#a2.0 commons-net 2.0的release notes, 对应的bug是 NET-188。
至于开源软件的使用和管理问题,另话再议。
- 使用commons.net 闰年 ftp文件的问题。
- commons.net.ftp的中文目录问题
- commons net jar包实现文件ftp上传和下载功能 (commons net ftp 使用1)
- 使用Commons net实现FTP上传文件(网络问题无响应解决方案)
- 使用apache commons-net包实现文件ftp上传
- 使用commons-net实现FTP文件上传与下载工具类
- 使用Apache commons-net包的ftp时中文文件名乱码的问题
- 中文FTP环境下,使用commons-net,FTPClient.listFiles()方法返回null的问题及解决办法
- 使用Commons-net包实现ftp服务器的访问
- 使用apache的commons-net-3.1.jar实现FTP上传
- 使用Apache 的commons-net 包实现FTP上传下载小结
- linux下使用commons-net ftp的总结
- commons-net FTP大文件上传
- org.apache.commons.net.ftp使用心得
- org.apache.commons.net.ftp.FTPClient使用
- apache.commons.NET.FTP使用小结
- java使用commons-net-2.2访问ftp
- Java实现对ftp的读写文件(apache.commons.net.ftp)
- 一道面试题
- hdu 3546
- cygwin and eclipse c++
- Lucene3.5 之 索引删除和更新
- 更换newsstand图标的方法
- 使用commons.net 闰年 ftp文件的问题。
- 可替换string的使用 & <xliff:g>标签介绍
- Java程序员从笨鸟到菜鸟之(九)——数据库有关知识补充(事务、视图、索引、存储过程)
- 广西移动营业和客服数据库数据复制应急查询平台--案例
- 只用js如何更有效的获取服务器时间
- mysql修改root密码以及设置数据库字符集
- linux kill用法、killall、pkill、xkill
- Andriod C++游戏开发初探
- 苹果AppStore应用商店生存之道