thrift异常 Connection reset by peer
代码如下,并发量大时几秒就会出现这么个异常:
[ Thread-0:5281012 ] - [ WARN ] Got an IOException in internalRead!
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
at org.apache.thrift.transport.TNonblockingSocket.read(TNonblockingSocket.java:141)
at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.internalRead(AbstractNonblockingServer.java:515)
at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.read(AbstractNonblockingServer.java:305)
at org.apache.thrift.server.AbstractNonblockingServer$AbstractSelectThread.handleRead(AbstractNonblockingServer.java:202)
at org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.select(TThreadedSelectorServer.java:576)
at org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.run(TThreadedSelectorServer.java:536)
服务端运行时发生的异常,是什么原因造成的?
服务端代码:
TNonblockingServerSocket socket = new TNonblockingServerSocket(servicePort);
final TDistinct.Processor processor = new TDistinct.Processor(new TDistinctImpl());
TThreadedSelectorServer.Args args = new TThreadedSelectorServer.Args(socket);
args.protocolFactory(new TCompactProtocol.Factory());
args.transportFactory(new TFramedTransport.Factory());
args.processorFactory(new TProcessorFactory(processor));
TServer server = new TThreadedSelectorServer(args.selectorThreads(60).workerThreads(20));
server.serve();
客户端也在使用过TTransport后关闭了,哪位遇到这种问题,求解!