Package org.apache.zookeeper.test.system
Class InstanceManager
java.lang.Object
org.apache.zookeeper.test.system.InstanceManager
- All Implemented Interfaces:
AsyncCallback,AsyncCallback.ChildrenCallback,Watcher
This class doles out assignments to InstanceContainers that are registered to
a ZooKeeper znode. The znode will have four child nodes:
* ready: this znode indicates that the InstanceManager is running
* available: the children of this znode are ephemeral nodes representing
running InstanceContainers
* assignments: there will be a child under this znode for each available
InstanceContainer. those znodes will have a child for each
assigned instance
* reports: there will be a child under this znode for each instance that is
running. it will have the report string from the instance.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.zookeeper.AsyncCallback
AsyncCallback.ACLCallback, AsyncCallback.AllChildrenNumberCallback, AsyncCallback.Children2Callback, AsyncCallback.ChildrenCallback, AsyncCallback.Create2Callback, AsyncCallback.DataCallback, AsyncCallback.EphemeralsCallback, AsyncCallback.MultiCallback, AsyncCallback.StatCallback, AsyncCallback.StringCallback, AsyncCallback.VoidCallbackNested classes/interfaces inherited from interface org.apache.zookeeper.Watcher
Watcher.Event, Watcher.WatcherType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassignInstance(String name, Class<? extends Instance> clazz, String params, int weight) voidclose()voidprocess(WatchedEvent event) voidprocessResult(int rc, String path, Object ctx, List<String> children) Process the result of the asynchronous call.voidreconfigureInstance(String name, String params) voidremoveInstance(String name) voidresetStatus(String name)
-
Constructor Details
-
InstanceManager
- Throws:
KeeperExceptionInterruptedException
-
-
Method Details
-
processResult
Description copied from interface:AsyncCallback.ChildrenCallbackProcess the result of the asynchronous call.On success, rc is
KeeperException.Code.OK.On failure, rc is set to the corresponding failure code in
KeeperException.KeeperException.Code.NONODE- The node on given path doesn't exist for some API calls.
- Specified by:
processResultin interfaceAsyncCallback.ChildrenCallback- Parameters:
rc- The return code or the result of the call.path- The path that we passed to asynchronous calls.ctx- Whatever context object that we passed to asynchronous calls.children- An unordered array of children of the node on given path.- See Also:
-
process
-
assignInstance
public String assignInstance(String name, Class<? extends Instance> clazz, String params, int weight) throws NoAvailableContainers, DuplicateNameException, InterruptedException, KeeperException -
reconfigureInstance
public void reconfigureInstance(String name, String params) throws NoAssignmentException, InterruptedException, KeeperException -
removeInstance
- Throws:
InterruptedExceptionKeeperException
-
resetStatus
- Throws:
InterruptedExceptionKeeperException
-
getStatus
- Throws:
KeeperExceptionInterruptedException
-
close
- Throws:
InterruptedException
-