Class ControllerService

java.lang.Object
org.apache.zookeeper.server.controller.ControllerService

public class ControllerService extends Object
Main class which starts a ZooKeeperServer, a ZooKeeperServerController and the ControllerService. Tests should either invoke this class as the main target of a new JVM process OR explicitly start and stop a singleton of this class in their test process.
  • Field Details

  • Constructor Details

    • ControllerService

      public ControllerService()
  • Method Details

    • main

      public static void main(String[] args)
      Starts the ControllerService as a stand alone app. Useful for out of process testing - such as during integration testing.
    • start

      public Thread start(ControllerServerConfig controllerConfig)
      Starts a new thread to run the controller (useful when this service is hosted in process - such as during unit testing).
    • shutdown

      public void shutdown()
    • initService

      protected void initService() throws IOException
      Initializes an instance of the ZooKeeperServer, the ZooKeeperServerController, and a new Http listener (CommandListener) for the controller.
      Throws:
      IOException
    • runServices

      protected void runServices()
    • cleanup

      protected void cleanup()
    • initializeAndRun

      public void initializeAndRun(String[] args) throws QuorumPeerConfig.ConfigException
      Runs the main loop for this application but does not exit the process.
      Throws:
      QuorumPeerConfig.ConfigException
    • initConfig

      protected void initConfig(String[] args) throws QuorumPeerConfig.ConfigException
      Derived classes may override to do custom initialization of command line args.
      Throws:
      QuorumPeerConfig.ConfigException
    • runFromConfig

      public void runFromConfig(QuorumPeerConfig config)
      Run the app given a QuorumPeerConfig.
      Parameters:
      config - The quorum peer config.
    • run

      protected void run()
    • isReady

      public boolean isReady()
      Is the service up with all necessary initialization and port opening complete?
      Returns:
      true if the controller service is ready to use; false otherwise.