public class ShutdownHandler extends HandlerWrapper
Server server = new Server(8080); HandlerList handlers = new HandlerList(); handlers.setHandlers(new Handler[] { someOtherHandler, new ShutdownHandler("secret password", false, true) }); 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(); logger.info("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); } }
AbstractHandler.ErrorDispatchHandler
AbstractLifeCycle.AbstractLifeCycleListener
LifeCycle.Listener
Container.InheritedListener, Container.Listener
Constructor and Description |
---|
ShutdownHandler(Server server,
String shutdownToken)
Deprecated.
|
ShutdownHandler(String shutdownToken) |
ShutdownHandler(String shutdownToken,
boolean exitJVM,
boolean sendShutdownAtStart) |
Modifier and Type | Method and Description |
---|---|
String |
getShutdownToken() |
void |
handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
Handle a request.
|
boolean |
isExitJvm() |
boolean |
isSendShutdownAtStart() |
void |
sendShutdown() |
void |
setExitJvm(boolean exitJvm) |
void |
setSendShutdownAtStart(boolean sendShutdownAtStart) |
destroy, getHandler, getHandlers, insertHandler, setHandler
findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
getServer
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stop
dumpContainer, dumpIterable, dumpMapEntries, dumpObjects, dumpSelf, named
@Deprecated public ShutdownHandler(Server server, String shutdownToken)
server
- the Jetty instance that should be shut downshutdownToken
- a secret password to avoid unauthorized shutdown attemptspublic ShutdownHandler(String shutdownToken)
public ShutdownHandler(String shutdownToken, boolean exitJVM, boolean sendShutdownAtStart)
shutdownToken
- a secret password to avoid unauthorized shutdown attemptsexitJVM
- If true, when the shutdown is executed, the handler class System.exit()sendShutdownAtStart
- If true, a shutdown is sent as an HTTP post
during startup, which will shutdown any previously running instances of
this server with an identically configured ShutdownHandlerpublic void sendShutdown() throws IOException
IOException
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
Handler
handle
in interface Handler
handle
in class HandlerWrapper
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
HttpConnection.getCurrentConnection()
.getHttpChannel()
.getRequest()
method can be used access the Request object if required.response
- The response as the Response
object or a wrapper of that request. The
HttpConnection.getCurrentConnection()
.getHttpChannel()
.getResponse()
method can be used access the Response object if required.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issuepublic void setExitJvm(boolean exitJvm)
public boolean isSendShutdownAtStart()
public void setSendShutdownAtStart(boolean sendShutdownAtStart)
public String getShutdownToken()
public boolean isExitJvm()
Copyright © 2010 - 2020 Adobe. All Rights Reserved