--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/TimetableServlet.java 2009/10/02 15:06:08 387 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/TimetableServlet.java 2009/10/08 20:46:40 425 @@ -10,6 +10,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import dk.thoerup.curcuitbreaker.CircuitBreakerException; + /** * Servlet implementation class TimetableServlet */ @@ -21,6 +23,7 @@ TimetableFetcher fetcher = new TimetableFetcher(); + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String train = request.getParameter("train").trim(); @@ -43,7 +46,10 @@ } catch (java.net.SocketTimeoutException ste) { logger.warning("(timetable) Read timed out, train="+train); response.sendError(500, "Backend timed out"); - } catch (Exception e) { + } catch (CircuitBreakerException cbe) { + logger.warning("Circuitbreaker - failing fast"); + response.sendError(500); + }catch (Throwable e) { logger.log(Level.WARNING, "failure looking up timetable: train=" +train, e); response.sendError(500); }