org.apache.catalina.connector.ClientAbortException:にjava.io.IOException:あなたのホストソフトウェアは、接続が確立された中止します。

 

org.apache.catalina.connector.ClientAbortException:にjava.io.IOException:你的主机中的软件中止了一个已建立的连接
	org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299)で
	のorg.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:262)
	org.apache.catalina.connector.CoyoteOutputStream.flushで(CoyoteOutputStream.java:118)
	com.opensymphony.module.sitemesh.filter.RoutableServletOutputStreamで。 (RoutableServletOutputStream.java:122)フラッシュ
	java.io.BufferedOutputStream.flush(不明なソース)で
	com.thinkgem.jeesite.modules.bigdata.selectMap.web.SelectMapController.getIdPicFile(SelectMapController.java:338)で
	sun.reflectで。 NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
	sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース)で
	sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース)で
	java.lang.reflect.Method.invoke(不明なソース)で
	org.springframework.web.method.support.InvocableHandlerMethodで.invoke(InvocableHandlerMethod.java:215)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)で
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandleで(ServletInvocableHandlerMethod .java:104)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)で
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)で 
	javax.servlet.http.HttpServlet.service(HttpServletをにて。 Javaの:741) 
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handleで(AbstractHandlerMethodAdapter.java:83)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)で
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)で
	org.springframework.web.servlet.FrameworkServlet.processRequestで(FrameworkServlet.java:961)
	org.springframework.web.servlet.FrameworkServlet.doGetで(FrameworkServlet.java:852)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:634)で
	org.springframework.webました。 servlet.FrameworkServlet.service(FrameworkServlet.java:837)
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)で
	org.apache.catalina.core.ApplicationFilterChain.doFilterで(ApplicationFilterChain.java:166)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)で
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)で
	org.apache.catalina.core.ApplicationFilterChainで.doFilter(ApplicationFilterChain.java:166)
	com.thinkgem.jeesite.common.filter.XSSFilter.doFilter(XSSFilter.java:25)で
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(ApplicationFilterChain.java:193)
	でorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
	com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContentで( SiteMeshFilter.java:129)
	com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)で
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで( ApplicationFilterChain.java:193) 
	org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)で
	org.apache.shiro.web.servlet.ProxiedFilterChainで.doFilter(ProxiedFilterChain.java:61)
	org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)で
	org.apache.shiro.web.servlet.AdviceFilter.doFilterInternalで(AdviceFilter.java:137 )
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)で
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilterで(ProxiedFilterChain.java:66)
	org.apache.shiroました。 web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	org.apache.shiro.web.servlet.AbstractShiroFilter $ 1.call(AbstractShiroFilter.java:365)で 
	org.apacheで.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)で
	org.apache.shiroで。 subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)で
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilterで( OncePerRequestFilter.java:125)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)で
	org.springframework.web.filter.DelegatingFilterProxy.doFilterで(DelegatingFilterProxy.java:261)
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)で 
	org.apache.catalina.core.ApplicationFilterChain.doFilterで(ApplicationFilterChain.java:166)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)で
	org.springframework.web.filter.OncePerRequestFilter.doFilterで(OncePerRequestFilter.java:107)
	org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)で
	org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)で
	org.apacheました。 catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
	org.apache.catalina.core.StandardContextValve.invokeで(StandardContextValve.java:96)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)で 
	org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)で
	org.apache.catalina.valves.ErrorReportValve.invokeで(ErrorReportValve.java: 92)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)で
	org.apache.catalina.core.StandardEngineValve.invokeで(StandardEngineValve.java:74)
	org.apache.catalina.connector.CoyoteAdapter.serviceで(CoyoteAdapter.java:343)
	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)で
	org.apacheました。 coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:834)で
	org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRunで(NioEndpoint。 Javaの:1415) 
	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)で
	java.util.concurrent.ThreadPoolExecutor.runWorkerで(不明なソース)
	のjavaで。 util.concurrent.ThreadPoolExecutor $ Worker.run(不明なソース)
	org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)で
	java.lang.Thread.runで(不明なソース)

  

分析:

 

このエラーは、Tomcatで発生する要求を送信した後、クライアントによるもので、サーバーが接続を切断するために応答する前に、それは、ネットワーク上の理由ためであってもよいし、突然オフネットが、エラーが頻繁に発生する場合、それは問題のサービス側かもしれA。

Tomcatは、クライアントがまだサーバの応答を得られなかった場合には異常がアップ発生するように、この時間の後、それは自動的に、切断され、接続タイムアウトのConnectionTimeoutを設定し、デフォルトのTomcatの接続時間は20秒ですデーモン切断で長い処理時間の結果を避けるために、我々は一般的に、好ましくは、60秒に設定します。

ソリューション:

あなたは要求することができると、接続要求時間の数は、設定のTomcatのconf server.xmlファイルフォルダで設定されました。

 

  1.  
    < コネクタポート= "8080" プロトコル= "HTTP / 1.1"
  2.  
    ConnectionTimeout = "20000"
  3.  
    redirectPort = "8443" acceptCountを= "500" maxThreadsの= "400" />
20秒のデフォルトでのConnectionTimeoutミリ秒。このパラメータを変更することによって、Tomcatの要求時間を変更することが可能です。

 

 

、接続の同時要求の最大数、およびmaxThreadsのacceptCountを2つのパラメータを変更する必要性を修正

 

ここで、maxThreadsのは、以下に説明しました:

従って取り扱うことができる同時要求の最大数を決定し、このコネクタによって作成される要求処理スレッドの最大数。指定しない場合executorがこのコネクタに関連付けられている場合、この属性は、コネクタがエグゼキュータではなく、内部のスレッドプールを使用してタスクを実行しますと、この属性は無視され、200に設定されています。

acceptCountを紹介、次のように:

すべての可能な要求処理スレッドが使用されている着信接続要求の最大キュー長。キューがいっぱいになったときに受信したすべての要求は拒否されます。デフォルト値は100です。

したがって、200および100の両方のデフォルト値は、それぞれ、接続のデフォルトの最大数を調整するためのTomcatであり、この2つのプロパティの値、及び以上のmaxThreadsのacceptCountをを増加させます

 

おすすめ

転載: www.cnblogs.com/isme-zjh/p/11506380.html