Reputation: 27
My requirement is to record users voice and save it on the server (multiple users simultaneously). Code is :
in = (InputStream) request.getInputStream();
fos = new FileOutputStream(f1);
int read = 0;
while ((read = in.read()) != -1) {
fos.write(read);
}
fos.close();
in.close();
and I am getting the following exception when trying to record voices for multiple users at a time:
java.net.SocketTimeoutException
at org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:796)
at org.apache.coyote.http11.InternalAprInputBuffer$SocketInputBuffer.doRead(InternalAprInputBuffer.java:830)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
at org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:738)
at 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)
at org.apache.catalina.connector.InputBuffer.readByte(InputBuffer.java:317)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:105)
at CommonPackage.Upload.processRequest(Upload.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)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at 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)
at java.lang.Thread.run(Thread.java:619)
This does not give me any exception with a single user.
Upvotes: 2
Views: 4471
Reputation: 2322
Most likely you get this exception because you are trying to read data from the request but it exceeds the default timeout value.
In tomcat the default value is 60 seconds. See the follwing guide to learn how to adjust you connector's connection timeout: http://tomcat.apache.org/tomcat-7.0-doc/config/http.html
Upvotes: 1