commons-net上传同一个文件到服务器只有一个能成功

曾杰 发布于 2012/03/29 17:51
阅读 845
收藏 0

场景是这样的,多个客户有可能同时上传一个大文件到服务器上,如果是这样的话,两个线程只有一个线程能上传,另一个线程就一直在RUNNABLE状态,但是会停在一个方法上,不会超时,用jstack看线程是停在了:

    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:693)

    at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:551)

    at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1704).

不知各位有什么办法可以解决这个问题?

我用的是3.5

加载中
0
曾杰
曾杰
"pool-1-thread-1" prio=6 tid=0x18a4c800 nid=0x83c runnable [0x1f88f000]
   java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0x07bba1f0> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:693)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:551)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1704)
详细堆栈,跪*求解答
0
曾杰
曾杰
我解决了,设置了下dataTimeout,你们都不说T_T
返回顶部
顶部