Class ShutdownHandler

  • All Implemented Interfaces:
    Handler, Destroyable, Dumpable, LifeCycle

    public class ShutdownHandlerextends AbstractHandler
    A handler that shuts the server down on a valid request. Used to do "soft" restarts from Java. If _exitJvm ist set to true a hard System.exit() call is being made. This handler is a contribution from Johannes Brodwall: Usage:
        Server server = new Server(8080);    HandlerList handlers = new HandlerList();    handlers.setHandlers(new Handler[]    { someOtherHandler, new ShutdownHandler(server,"secret password") });    server.setHandler(handlers);    server.start();   
       public static void attemptShutdown(int port, String shutdownCookie) {        try {            URL url = new URL("http://localhost:" + port + "/shutdown?token=" + shutdownCookie);            HttpURLConnection connection = (HttpURLConnection)url.openConnection();            connection.setRequestMethod("POST");            connection.getResponseCode();  "Shutting down " + url + ": " + connection.getResponseMessage());        } catch (SocketException e) {            logger.debug("Not running");            // Okay - the server is not running        } catch (IOException e) {            throw new RuntimeException(e);        }    }  
    • Constructor Detail

      • ShutdownHandler

        public ShutdownHandler(Server server,               String shutdownToken)
        Creates a listener that lets the server be shut down remotely (but only from localhost).
        server - the Jetty instance that should be shut down
        shutdownToken - a secret password to avoid unauthorized shutdown attempts
    • Method Detail

      • handle

        public void handle(String target,          Request baseRequest,          javax.servlet.http.HttpServletRequest request,          javax.servlet.http.HttpServletResponse response)            throws IOException,                   javax.servlet.ServletException
        Description copied from interface: Handler
        Handle a request.
        target - The target of the request - either a URI or a name.
        baseRequest - The original unwrapped request object.
        request - The request either as the Request object or a wrapper of that request. The AbstractHttpConnection.getCurrentConnection() method can be used access the Request object if required.
        response - The response as the Response object or a wrapper of that request. The AbstractHttpConnection.getCurrentConnection() method can be used access the Response object if required.
      • getRemoteAddr

        protected String getRemoteAddr(javax.servlet.http.HttpServletRequest request)
      • setExitJvm

        public void setExitJvm(boolean exitJvm)

Copyright © 1995-2013 Mort Bay Consulting. All Rights Reserved.

Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14