What happens if the programmer writes an infinite request?
What if we have a servlet that may take a very long or infinite time to complete? Does that mean that every time some one sends a request to that servlet, one of the threads goes away to execute the servlet and never comes back? Is there any way that JBoss can monitor and kill such a thread?
Example servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String s = request.getParameter("N");
int N = Integer.parseInt(s);
PrintWriter writer = response.getWriter();
for (int i=0; i<N; i++){
writer.println(i + "/" + N);
System.out.println(i + "/" + N);
Thread.sleep(1000);
}
} catch (NumberFormatException e){
throw new ServletException(e);
} catch (InterruptedException ie){
throw new ServletException(ie);
}
}