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 Summary
Fields Modifier and Type Field Description protected QuorumPeerConfig
config
protected QuorumPeer
quorumPeer
-
Constructor Summary
Constructors Constructor Description ControllerService()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
cleanup()
protected void
initConfig(String[] args)
Derived classes may override to do custom initialization of command line args.void
initializeAndRun(String[] args)
Runs the main loop for this application but does not exit the process.protected void
initService()
Initializes an instance of the ZooKeeperServer, the ZooKeeperServerController, and a new Http listener (CommandListener) for the controller.boolean
isReady()
Is the service up with all necessary initialization and port opening complete?static void
main(String[] args)
Starts the ControllerService as a stand alone app.protected void
run()
void
runFromConfig(QuorumPeerConfig config)
Run the app given a QuorumPeerConfig.protected void
runServices()
void
shutdown()
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).
-
-
-
Field Detail
-
config
protected QuorumPeerConfig config
-
quorumPeer
protected QuorumPeer quorumPeer
-
-
Method Detail
-
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.
-
-