ftpclient卡死问题

ftpclient在调用retrieveFileStream(String remote)之后,返回inputstream,如果不想关闭ftp,继续读取其他文件。

一定要先关闭inputstream,然后再调用completePendingCommand 方法。

这样可以继续读取另外的文件,否则很大的可能会hang on,程序卡死。

原因是completePendingCommand()会一直在等FTP Server返回226 Transfer complete,但是FTP Server只有在接受到InputStream执行close方法时,才会返回

时间: 2024-10-06 00:42:58

ftpclient卡死问题的相关文章

jedispool 连 redis 高并发卡死

java端在使用jedispool 连接redis的时候,在高并发的时候经常卡死,或报连接异常,JedisConnectionException,或者getResource 异常等各种问题 在使用jedispool 的时候一定要注意两点 1. 在获取 jedisPool和jedis的时候加上线程同步,保证不要创建过多的jedispool 和 jedis 2. 用完Jedis实例后需要返还给JedisPool 整理了一下redis工具类,通过大量测试和高并发测试的 package com.casp

struts2设置index.action为主页(另:web.xml编辑卡死问题解决)

本来是弄拦截器的问题,结果弄主页的时候,还是发现了问题. 公司网站的项目里面,是用index.action作为主页的,访问WEB-INF里面的html文件.可是我设置的却不成功,追根到底,一个原因,struts2比较特殊,struts.xml里面必须多配置一个request和response. <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" versio

ubuntu禁用n卡驱动(进系统卡死)

显卡驱动 该发行版依旧内置了Nouveau 开源驱动,这是导致频繁死机的直接原因.接下来要做的三件事情是: 禁用Nouveau 内核模块 安装Intel HD 530 驱动(二选一) 安装NVIDIA 闭源驱动(二选一) 禁用Nouveau 内核模块 首先添加一个blacklist: # vi /etc/modprobe.d/blacklist-nouveau.conf 在这个文件中写入以下内容: 1 2 3 4 5 blacklist nouveau blacklist lbm-nouveau

关于NFS的客户端挂载卡死问题记录

系统环境:centOS5版本和centOS6版本 客户端的版本:nfs-utils-1.2.3 挂载使用的是默认的参数. 异常现象: 当nfs服务端出现异常时,客户端挂载会不断的去尝试连接nfs服务端,导致客户端使用df命令显示挂载的文件系统时出现卡死,有时候使用Ctrl+C可以解决,可能是由于该挂载目录没有被占用的缘故,之后会出现负载逐渐升高,直至整个机器无法正常提供服务,表现为iostat很高. 附:当nfs服务端自己挂载自己的时候也会出现这样的情况,重启服务器之后恢复. 尝试以下的办法,仍

FtpClient.storeFile返回false解决方法

参考:http://www.cnblogs.com/xiangpiaopiao2011/archive/2012/02/28/2371679.html 返回错误:ftp connect time out. 先判断是否登录成功,若登录成功之后FtpClient.storeFile还返回false,则参考下面代码 ftpClient.enterLocalPassiveMode();ftpClient.setControlEncoding("UTF-8");boolean stored =

DIOCP之DEMO-Echo卡死问题分析

最近很多新朋友在调试echo这个例程时发现,总是卡死客户端或服务器端,这是因为客户端的接收数据用的memo没有处理接受到的行数,导致超过最大行数,而卡死界面,只需要如下操作就可以解决:

FTPClient.listFiles()不能获取文件

今天使用ftp获取另一台服务器上的文件,发现不管切换到哪个目录,获取什么文件,调用FTPClient.listFiles()方法时返回的始终为空,但是代码又运行正常没有异常抛出. 网上查了下,发现有很多人都碰到了这个问题,解决的方式也很简单, 在调用FTPClient.listFiles()方法前,先调用FTPClient.enterLocalPassiveMode();就可以了. 这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据. 为什么要

linux:记录一次 处理tomcat启动卡死无报错现象的曲折过程

一.环境 系统:CentOS 5.5 tomcat 6.0 jdk1.6 二.问题现象     我们公司近期请人做的某个项目的一期要完成了,因对方负责java开发的工程师都不懂linux,而且也没有专职的linux工程师,最后的最后就是只能我来部署了,刚开始也没觉得会有多麻烦,按以往的套路来就好了嘛,好吧,先把项目在我本地环境(windows)跑一下,然而...... ........(省略因开发环境不一样造成的揪心过程,还有对方代码的各种坑,然而我还拿不到源文件..) 一翻折腾,终于在本地运行

winform 防止主界面卡死

总结网络上的解决方案:新线程=> 委托=> 主界面的异步更新方法(IAsyncResult BeginInvoke(Delegate method)),一句话就是通过委托调用另一个线程的异步方法. 验证方法:当线程执行时,拖拽主窗体,没有卡死迹象. 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawi