2012-03-19 158 views
0

我有一台运行Apache FTPServer的服务器。 FTP服务器运行良好,直到最近从客户端上传的一些上传文件开始失败,并附带此错误。我增加了MaxIdleTimeout,但仍然遇到此错误。任何人有任何想法到什么实际上产生这个错误?java.io.IOException:现有连接被远程主机强行关闭

16 Mar 22:19:30,792 WARN [pool-3-thread-10] [LoggingFilter->log()]:122 - EXCEPTION : 
java.io.IOException: An existing connection was forcibly closed by the remote host 
    at sun.nio.ch.SocketDispatcher.read0(Native Method) 
    at sun.nio.ch.SocketDispatcher.read(Unknown Source) 
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.read(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.read(Unknown Source) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:202) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:42) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:620) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969) 
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
16 Mar 22:19:30,792 WARN [pool-3-thread-10] [LoggingFilter->log()]:122 - EXCEPTION : 
java.io.IOException: An existing connection was forcibly closed by the remote host 
    at sun.nio.ch.SocketDispatcher.read0(Native Method) 
    at sun.nio.ch.SocketDispatcher.read(Unknown Source) 
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.read(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.read(Unknown Source) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:202) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:42) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:620) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969) 
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
16 Mar 22:19:30,792 ERROR[pool-3-thread-10] [DefaultFtpHandler->exceptionCaught()]:156 - Exception caught, closing session 
java.io.IOException: An existing connection was forcibly closed by the remote host 
    at sun.nio.ch.SocketDispatcher.read0(Native Method) 
    at sun.nio.ch.SocketDispatcher.read(Unknown Source) 
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.read(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.read(Unknown Source) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:202) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:42) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:620) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969) 
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
16 Mar 22:19:30,792 ERROR[pool-3-thread-10] [DefaultFtpHandler->exceptionCaught()]:156 - Exception caught, closing session 
java.io.IOException: An existing connection was forcibly closed by the remote host 
    at sun.nio.ch.SocketDispatcher.read0(Native Method) 
    at sun.nio.ch.SocketDispatcher.read(Unknown Source) 
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) 
    at sun.nio.ch.IOUtil.read(Unknown Source) 
    at sun.nio.ch.SocketChannelImpl.read(Unknown Source) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:202) 
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:42) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:620) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61) 
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969) 
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

回答

1

它看起来像错误说,服务器关闭了你的连接。通常情况下,这是由于您不活跃的结果。如果你不跟服务器通话,它会关闭你的连接。如果连接闲置,您需要发送NOOP命令流给它,让它知道你还在那里。

相关问题