Hello, My issue can be related to Servlets, but it also can be related to Tomcat. I'm using tomcat 7.0.27. In my servlet's post method I have the following:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (this.hasCredential((String)request.getSession().getAttribute("auth_cookie"))) { String mac = request.getParameter("subscriber_mac"); Processing.logoutSubscriberByMac(mac); //this is important request.getSession().setAttribute("subscriber_id", request.getParameter("subscriber_id")); response.sendRedirect("/page/to/redirect"); myLogger.info("subscriber with mac " + mac + " logged out by administrator " + request.getSession().getAttribute("username") + " from host " + request.getRemoteAddr()); //take care of this also } else { //treat this case ... } } TheProcessing.logoutSubscriberByMac(mac) has that code on it: public static void logoutSubscriberByMac(String mac) { try { Process proc = Runtime.getRuntime().exec("logout subscriber command"); proc.waitFor(); //here is the problem } catch (IOException e) { //treat this error } catch (InterruptedException e) { //treat this error } } The problem is that if things are like how are presented above, the servlet does not redirect the page:response.sendRedirect("/page/to/redirect");. Even if the logs are written: mylogger.info("subscriber with mac ..."), the browser tries to redirect, but it gets stuck on redirection and after loading timeout, the browser's failure page appears. If I comment the line that contains command to wait, proc.waitFor();, everything works well. Even more, I tried to get the exit value from Process and it returns 0. Question: Do you have any idea where the problem comes from? Can you give me some suggestions? Note: I redirect all traffic that comes to Apache HTTP server to Tomcat through AJP Connector. But I think that shouldn't represent an issue for that scenario taking in account that all other redirects are working great.