Java tutorial
/** * Copyright (C) 2009-2012 the original author or authors. * See the notice.md file distributed with this work for additional * information regarding copyright ownership. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.fusesource.restygwt.server; import org.apache.commons.httpclient.HttpStatus; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.logging.Logger; /** * Servlet component of the FlakyConnectionTestGwt. * <p> * Simulates 2 times a 500 server error. And answers the third time with a 200 * (ok). => Used to test the retrying async callback. * </p> * * @author <a href="mailto:mail@raphaelbauer.com">rEyez</<a> */ public class FlakyConnectionServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final Logger log = Logger.getLogger(FlakyConnectionServlet.class.getName()); private int NUMBER_OF_SERVER_FAILURES_TO_SIMULATE = 2; private static int currentNumberOfServerFailures = 0; private final String DUMMY_RESPONSE = "{\"name\":\"myName\"}"; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { log.fine("GET: flakyMODE"); if (currentNumberOfServerFailures < NUMBER_OF_SERVER_FAILURES_TO_SIMULATE) { log.fine("respond code: " + HttpStatus.SC_INTERNAL_SERVER_ERROR + " with purpose"); ++currentNumberOfServerFailures; response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR); } else { log.fine("response: " + DUMMY_RESPONSE); response.getWriter().print(DUMMY_RESPONSE); } } }