как установить тайм-аут соединения / запроса для причального сервера?

Я запускаю встроенный причальный сервер (причал 6.1.24) внутри своего приложения следующим образом:

    Handler handler=new AbstractHandler()
    {
        @Override
        public void handle(String target, HttpServletRequest request,
                HttpServletResponse response, int dispatch)
                throws IOException, ServletException {
              //this can take a long time
              doSomething();  
        }
    };


    Server server = new Server(8080);
    Connector connector = new org.mortbay.jetty.nio.SelectChannelConnector();      
    server.addConnector(connector);

    server.setHandler(handler);
    server.start();

Я хотел бы установить значение тайм-аута (2 секунд), так что если метод handler.handle () занимает более 2 секунд, причальный сервер будет тайм-аут и ответит клиенту с кодом 408 http (тайм-аут запроса).

Это сделано для того, чтобы гарантировать, что мое приложение не будет удерживать клиентский запрос в течение длительного времени и всегда будет отвечать в течение 2 секунд.

Я провел небольшое исследование и протестировал его с помощью «connector.setMaxIdleTime (2000);» но это не работает.

10
задан Cœur 30 April 2017 в 12:24
поделиться