Package org.eclipse.jetty.server.handler
Class ShutdownHandler
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.handler.AbstractHandler
-
- org.eclipse.jetty.server.handler.AbstractHandlerContainer
-
- org.eclipse.jetty.server.handler.HandlerWrapper
-
- org.eclipse.jetty.server.handler.ShutdownHandler
-
- All Implemented Interfaces:
Handler,HandlerContainer,Container,Destroyable,Dumpable,Dumpable.DumpableContainer,LifeCycle
@Deprecated(since="2021-05-27") public class ShutdownHandler extends HandlerWrapper
Deprecated.The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.A handler that shuts the server down on a valid request. Used to do "soft" restarts from Java. If _exitJvm is set to true a hard System.exit() call is being made. If _sendShutdownAtStart is set to true, starting the server will try to shut down an existing server at the same port. If _sendShutdownAtStart is set to true, make an http call to "http://localhost:" + port + "/shutdown?token=" + shutdownCookie in order to shut down the server. This handler is a contribution from Johannes Brodwall: https://bugs.eclipse.org/bugs/show_bug.cgi?id=357687 Usage: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); } }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Constructor Summary
Constructors Constructor Description ShutdownHandler(java.lang.String shutdownToken)Deprecated.ShutdownHandler(java.lang.String shutdownToken, boolean exitJVM, boolean sendShutdownAtStart)Deprecated.ShutdownHandler(Server server, java.lang.String shutdownToken)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.StringgetShutdownToken()Deprecated.voidhandle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)Deprecated.Handle a request.booleanisExitJvm()Deprecated.booleanisSendShutdownAtStart()Deprecated.voidsendShutdown()Deprecated.voidsetExitJvm(boolean exitJvm)Deprecated.voidsetSendShutdownAtStart(boolean sendShutdownAtStart)Deprecated.-
Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
destroy, getHandler, getHandlers, insertHandler, setHandler
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
getServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
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
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
-
-
-
Constructor Detail
-
ShutdownHandler
@Deprecated public ShutdownHandler(Server server, java.lang.String shutdownToken)
Deprecated.Creates a listener that lets the server be shut down remotely (but only from localhost).- Parameters:
server- the Jetty instance that should be shut downshutdownToken- a secret password to avoid unauthorized shutdown attempts
-
ShutdownHandler
public ShutdownHandler(java.lang.String shutdownToken)
Deprecated.
-
ShutdownHandler
public ShutdownHandler(java.lang.String shutdownToken, boolean exitJVM, boolean sendShutdownAtStart)Deprecated.- Parameters:
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 ShutdownHandler
-
-
Method Detail
-
sendShutdown
public void sendShutdown() throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
handle
public void handle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletExceptionDeprecated.Description copied from interface:HandlerHandle a request.- Specified by:
handlein interfaceHandler- Overrides:
handlein classHandlerWrapper- Parameters:
target- The target of the request - either a URI or a name.baseRequest- The original unwrapped request object.request- The request either as theRequestobject or a wrapper of that request. Themethod can be used access the Request object if required.HttpConnection.getCurrentConnection().getHttpChannel().getRequest()response- The response as theResponseobject or a wrapper of that request. Themethod can be used access the Response object if required.HttpConnection.getCurrentConnection().getHttpChannel().getResponse()- Throws:
java.io.IOException- if unable to handle the request or response processingServletException- if unable to handle the request or response due to underlying servlet issue
-
setExitJvm
public void setExitJvm(boolean exitJvm)
Deprecated.
-
isSendShutdownAtStart
public boolean isSendShutdownAtStart()
Deprecated.
-
setSendShutdownAtStart
public void setSendShutdownAtStart(boolean sendShutdownAtStart)
Deprecated.
-
getShutdownToken
public java.lang.String getShutdownToken()
Deprecated.
-
isExitJvm
public boolean isExitJvm()
Deprecated.
-
-