2017-06-08 33 views
2

IOTデバイス私のSpring-Bootアプリケーションサーバーに小さなファイル(約1Kb)の形式でデータを連続的に送信しています。Springブートv1.4 - マルチパート/フォームデータ要求の処理に失敗しました。 null]根本原因java.net.SocketTimeoutException:null

このエラーは特定の間隔で発生し続けます。誰かが間違っていることを指摘できたでしょうか?

私はコントローラのTCPソケットをアップロードしています。

ERROR 37762 --- [io-8080-exec-29] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null] with root cause 

java.net.SocketTimeoutException: null 
    at org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:201) 
    at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:235) 
    at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:216) 
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1212) 
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1163) 
    at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:742) 
    at org.apache.coyote.http11.Http11InputBuffer.access$400(Http11InputBuffer.java:38) 
    at org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer.doRead(Http11InputBuffer.java:1073) 
    at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:100) 
    at org.apache.coyote.http11.Http11InputBuffer.doRead(Http11InputBuffer.java:303) 
    at org.apache.coyote.Request.doRead(Request.java:511) 
    at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:318) 
    at org.apache.tomcat.util.buf.ByteChunk.checkEof(ByteChunk.java:397) 
    at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:379) 
    at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:338) 
    at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:189) 
    at java.io.FilterInputStream.read(FilterInputStream.java:133) 
    at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:132) 
    at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:946) 
    at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:850) 
    at java.io.FilterInputStream.read(FilterInputStream.java:133) 
    at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:132) 
    at java.io.FilterInputStream.read(FilterInputStream.java:107) 
    at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:98) 
    at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:68) 
    at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:293) 
    at org.apache.catalina.connector.Request.parseParts(Request.java:2792) 
    at org.apache.catalina.connector.Request.parseParameters(Request.java:3167) 
    at org.apache.catalina.connector.Request.getParameter(Request.java:1109) 
    at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:381) 
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:70) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110) 
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425) 
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 

答えて

0

ファイアウォールによって、より長期間アクティブでないTCP接続が切断されることがあります。解決策はsend TCP keepalivesです。

ファイアウォールを通過する接続の最大量と、OSファイル記述子の最大数を超えていないことも確認してください。

+1

この質問は、別の質問https://stackoverflow.com/questions/44486788/spring-boot-application-freezes-after-a-dayに関連しています。どのようにOSファイル記述子の最大数を増やすことができますか? – amitection

関連する問題