Package sunlabs.brazil.sunlabs
Class RestartHandler
java.lang.Object
sunlabs.brazil.sunlabs.RestartHandler
- All Implemented Interfaces:
sun.misc.SignalHandler
,Handler
Restart the server when a sigHUP is received.
Only The handlers are restarted, by creating new instances of them,
and calling the respective init() methods. None of the other server
properties (such as the listening port) are effected.
Any requests that are currently in-progress complete using the old
configuration.
NOTES:
- Supplying an invalid configuration file can render the server inoperable.
- The non-portable
sun.misc.Signal*
classes are used.
Properties:
- config
- The name of the configuration file to use for this server. Relative paths are resolved relative to the current directory. If no file is specified, the server continues to use its existing configuration [which has presumably been modified in-place]. If a config file is specified and the config file hasn't changed, then no restart is done.
- keep
- If set, and a config file is specified, the existing configuration (server.props) is not cleared first.
-
Field Summary
Fields inherited from interface sun.misc.SignalHandler
SIG_DFL, SIG_IGN
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
RestartHandler
public RestartHandler()
-
-
Method Details
-
init
Description copied from interface:Handler
Initializes the handler.- Specified by:
init
in interfaceHandler
- Parameters:
server
- The HTTP server that created thisHandler
. TypicalHandler
s will useServer.props
to obtain run-time configuration information.prefix
- The handlers name. The string thisHandler
may prepend to all of the keys that it uses to extract configuration information fromServer.props
. This is set (by theServer
andChainHandler
) to help avoid configuration parameter namespace collisions.- Returns:
true
if thisHandler
initialized successfully,false
otherwise. Iffalse
is returned, thisHandler
should not be used.
-
respond
Description copied from interface:Handler
Responds to an HTTP request. -
handle
public void handle(sun.misc.Signal sig) Restart the server after re-reading the config file- Specified by:
handle
in interfacesun.misc.SignalHandler
-