JAVA FTP 上传大文件假死

fjzhouxy 发布于 2012/07/05 16:50
阅读 2K+
收藏 0
  

@ExtremeTalk 你好,想跟你请教个问题:

我在用JAVA写一个FTP定时自动上传的功能,但是文件超过100兆之后,程序就会假死,后面的不执行,但是不影响其他文件上传。请问该怎么做啊,在网上也找了些方案,

// 发送NOOP指令防止上传时间过长连接假死现象
ftpClient.sendNoOp();

但是没效果

加载中
0
采飞扬
采飞扬
开个新线程传?
0
ExtremeTalk
ExtremeTalk
跟NOOP大概没关系。你说的其他文件是在同一个进程中上传的吗?如果不是,看看是不是你的使用的内存太多没释放啊。
shuaianwen
shuaianwen
我现在的一个应用貌似也出现这种问题了,所有生成文件的java类,都是spring的注解方式加载到容器中,有时候执行了某个定时任务后,到下一个时间点的定时任务时,很久都不会执行,甚至超过那个定时任务指定时间一个小时才执行
0
f
fjzhouxy

不是的,threadPool.execute(autoUploadFtp);每一个文件都是一个新线程。能看一下你以前写的吗、

我的QQ:503988501

0
少年了没
少年了没
请问一下 最终怎么解决的?
0
貓小樂
貓小樂
public boolean validateObject(FTPClient ftpClient) {
        try {
            return ftpClient.sendNoOp();
        } catch (IOException e) {
            throw new RuntimeException("Failed to validate client: " + e, e);
        }
    }


用validate方法验证下连接是否可用,这里使用的方法就是发送指令给服务器证明我还活着



返回顶部
顶部