@BeforeClass public static void initClass() throws Exception { _connect = new CyclicBarrier(2); _server = new Server(); _connector = new ServerConnector(_server); _statistics = new ConnectorStatistics(); _connector.addBean(_statistics); _server.addConnector(_connector); HandlerWrapper wrapper = new HandlerWrapper() { @Override public void handle( String path, Request request, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { try { _connect.await(); } catch (Exception ex) { LOG.debug(ex); } finally { super.handle(path, request, httpRequest, httpResponse); } } }; _server.setHandler(wrapper); Handler handler = new AbstractHandler() { @Override public void handle( String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { Thread.sleep(1); } catch (Exception e) { } baseRequest.setHandled(true); PrintWriter out = response.getWriter(); out.write("Server response\n"); out.close(); response.setStatus(HttpServletResponse.SC_OK); } }; wrapper.setHandler(handler); _server.start(); }