Class DaemonWrapper

java.lang.Object
org.apache.commons.daemon.support.DaemonWrapper
All Implemented Interfaces:
Daemon

public class DaemonWrapper extends Object implements Daemon
Implementation of the Daemon that allows running standard applications as daemons. The applications must have the mechanism to manage the application lifecycle.
  • Constructor Details

  • Method Details

    • init

      public void init(DaemonContext context) throws Exception
      Called from DaemonLoader on init stage.

      Accepts the following configuration arguments:

      • -daemon-properties: - load DaemonConfiguration properties from the specified file to act as defaults
      • -start: set start class name
      • -start-method: set start method name
      • -stop: set stop class name
      • -stop-method: set stop method name
      • -stop-argument: set optional argument to stop method
      • Anything else is treated as a startup argument

      The following "-daemon-properties" are recognized:

      • args (startup argument)
      • start
      • start.method
      • stop
      • stop.method
      • stop.args
      These are used to set the corresponding item if it has not already been set by the command arguments. However, note that args and stop.args are appended to any existing values.
      Specified by:
      init in interface Daemon
      Parameters:
      context - A DaemonContext object used to communicate with the container.
      Throws:
      DaemonInitException - An exception that prevented initialization where you want to display a nice message to the user, rather than a stack trace.
      Exception - Any exception preventing a successful initialization.
    • start

      public void start() throws Exception
      Description copied from interface: Daemon
      Starts the operation of this Daemon instance. This method is to be invoked by the environment after the init() method has been successfully invoked and possibly the security level of the JVM has been dropped. Implementors of this method are free to start any number of threads, but need to return control after having done that to enable invocation of the stop()-method.
      Specified by:
      start in interface Daemon
      Throws:
      Exception - If the start was not successful
    • stop

      public void stop() throws Exception
      Description copied from interface: Daemon
      Stops the operation of this Daemon instance. Note that the proper place to free any allocated resources such as sockets or file descriptors is in the destroy method, as the container may restart the Daemon by calling start() after stop().
      Specified by:
      stop in interface Daemon
      Throws:
      Exception - If the stop was not successful
    • destroy

      public void destroy()
      Description copied from interface: Daemon
      Frees any resources allocated by this daemon such as file descriptors or sockets. This method gets called by the container after stop() has been called, before the JVM exits. The Daemon can not be restarted after this method has been called without a new call to the init() method.
      Specified by:
      destroy in interface Daemon