For timeout configuring, in case of Tomcat, you should look for Connector configuration. There are connectionTimeout and keepAliveTimeout attributes. In regards to notifications... I'm not sure there is a straightforward solution. Maybe it worth lookinag at event listeners? -- Regards, Artashes Hovasapyan
On Fri, Feb 6, 2009 at 2:41 PM, Mikhail Gerdov <ger...@gmail.com> wrote: > I used threads only to simulate delay in servlet preocessing. Other > than that it all happens in one thread inside the request.How do I > specify the timeout server close on disconnected requests, can I get > some notification in the code to break the loop in request? Would the > timeout affect connections while browser still waiting fro response > but no data is being sent? > > Thanks, > Mike > > > On Fri, Feb 6, 2009 at 9:18 AM, Artashes Hovasapyan > <artashes.hovasap...@gmail.com> wrote: > > If client terminates the connection the server will close it after the > > timeout (should be specified in server configuration). Another thing is > that > > IMHO it is not a good idea to manage threads manually inside of any > > component - you should leave it for container, it is container's job to > > control threading for you. > > > > -- > > Regards, > > Artashes Hovasapyan > > > > > > On Fri, Feb 6, 2009 at 1:31 PM, Mikhail Gerdov <ger...@gmail.com> wrote: > >> > >> Hi, > >> > >> I have a servlet which processes a request for a long time. It suppose > >> to keep doing stuff in the loop inside doPost and send data through > >> response's out writer. Effectively that continuously appends data in > >> the clients browser . > >> But the problems accures when client just closes the browser. Inspite > >> of the broken connection the response's writer stream in the servlet > >> never gets closed, thus servlet is unaware of the brocen connection, > >> and keep dumping data into the writer without any errors. How is that > >> posssible? And how do I detect and cancel long request processing in > >> case of browser disconnect? > >> > >> > >> This is the servlet code which never stops: > >> protected void processRequest(HttpServletRequest request, > >> HttpServletResponse response) > >> throws ServletException, IOException > >> { > >> HttpSession session = request.getSession(); > >> System.out.println("Session " + session.getId() + " started"); > >> > >> response.setContentType("text/html;charset=UTF-8"); > >> > >> PrintWriter out = response.getWriter(); > >> try > >> { > >> while (!out.checkError()) > >> { > >> try > >> { > >> Thread.sleep(1000); > >> } catch (InterruptedException ex) > >> { > >> ex.printStackTrace(); > >> } > >> > >> Date date = new Date(); > >> > >> // TODO append output to the client browser here > >> out.println("....."); > >> > >> System.out.println("Session " + session.getId() + " > >> data sent at: " + date); > >> > >> out.flush(); > >> //break; // _TEST > >> } > >> } finally > >> { > >> System.out.println("Session " + session.getId() + " > finished"); > >> out.close(); > >> } > >> } > >> > >> > >> Thanks, > >> Mike > >> > >> > >> -- > >> Best regards, > >> Mikhail Gerdov mailto: > ger...@gmail.com > >> > >> > >> > > > > > > > > > > > > -- > Best regards, > Mikhail Gerdov mailto:ger...@gmail.com > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Java EE (J2EE) Programming with Passion!" group. To post to this group, send email to java-ee-j2ee-programming-with-passion@googlegroups.com To unsubscribe from this group, send email to java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en -~----------~----~----~----~------~----~------~--~---