2013-09-25 2 views
0

Мое требование - записывать голоса пользователей и сохранять их на сервере (одновременно несколько пользователей). Код:Что вызывает появление SocketTimeoutException

  in = (InputStream) request.getInputStream();       
      fos = new FileOutputStream(f1); 
      int read = 0; 
      while ((read = in.read()) != -1) { 
       fos.write(read); 
      } 
      fos.close(); 
      in.close(); 

и я получаю следующее исключение при попытке записи голосов для нескольких пользователей за раз. Это не дает мне никаких исключений с одним пользователем.

java.net.SocketTimeoutException в org.apache.coyote.http11.InternalAprInputBuffer.fill (InternalAprInputBuffer.java:796) в org.apache.coyote.http11.InternalAprInputBuffer $ SocketInputBuffer.doRead (InternalAprInputBuffer.java:830) на org.apache.coyote.http11.filters.IdentityInputFilter.doRead (IdentityInputFilter.java:116) на org.apache.coyote.http11.InternalAprInputBuffer.doRead (InternalAprInputBuffer.java:738) в org.apache.coyote .Request.doRead (Request.java:427) at org.apache.catalina.connector.InputBuffer.realReadBytes (InputBuffer.java:304) at org.apache.tomcat.util.buf.ByteChunk.substract (ByteChunk.java : 386) на org.apache.catalina.connector.InputBuffer.readByte (InputBuffer.java:317) на org.apache.catalina.connector.CoyoteInputStream.read (CoyoteInputStream.java:105) на CommonPackage.Upload.processRequest (Загрузить. java: 78) at CommonPackage.Upload.doPost (Upload.java:115) at javax.servlet.http.HttpServlet.service (HttpServlet.java:710) at javax.servlet.http.HttpServlet.service (HttpServlet. Java: 803) на org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) на org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) на org.apache. catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) на org.apache.catalina.cor e.StandardContextValve.invoke (StandardContextValve.java:191) на org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) на org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java: 102) по адресу org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:293) at org.apache.coyote. http11.Http11AprProcessor.process (Http11AprProcessor.java:877) at org.apache.coyote.http11.Http11AprProtocol $ Http11ConnectionHandler.process (Http11AprProtocol.java:594) at org.apache.tomcat.util.net.AprEndpoint $ Worker. run (AprEndpoint.java:1675) на java.lang.Thread.run (Thread.java:619)

Thanks

ответ

1

Скорее всего вы получите это исключение, потому что пытаетесь прочитать данные из запроса, но оно превышает значение таймаута по умолчанию.

В tomcat значение по умолчанию составляет 60 секунд. См. Руководство по использованию, чтобы узнать, как настроить тайм-аут подключения вашего разъема: http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

Смежные вопросы