## Uses of Class
com.h3c.api.ServiceNotAvailableException

- Packages that use ServiceNotAvailableException
  Package | Description
  --- | ---
  com.h3c.dist.bus |
  com.h3c.dist.groups |
  com.h3c.dist.keystore |
  com.h3c.dist.lock |
  com.h3c.dist.sync |

- - ### Uses of ServiceNotAvailableException in com.h3c.dist.bus

    Methods in com.h3c.dist.bus that throw ServiceNotAvailableException
    Modifier and Type | Method and Description
    --- | ---
    `void` | Bus.`ackMessage(long msgId, BusListener listener)` Acknowledge for message received.
    `boolean` | Bus.`changeMessageOwner(BusMessage msg, BusListener listener)` Take ownership of an existing `BusMessage`.
    `void` | Bus.`delete(long msgId)` Delete a Bus message.
    `<E extends Enum<E>> Bus` | BusFactory.`getBus(Class<E> messageTypeClass)` Get handle to the bus of specified busType.
    `List<BusMessage>` | Bus.`getMessages(Set<Integer> msgTypes)` Get the list of messages of the specified types that are currently posted on the `Bus`.
    `List<BusMessage>` | Bus.`getMessagesByOwner(List<BusListenerId> appNameInst, Set<Integer> msgTypes)` Get the list of messages of the specified types posted by given owners on the `Bus`.
    `long` | Bus.`post(BusMessage msg)` Push a message to the `Bus`
    `long` | Bus.`post(BusMessage msg, BusListener listener)` Push a message to the `Bus`.

  - ### Uses of ServiceNotAvailableException in com.h3c.dist.groups

    Methods in com.h3c.dist.groups that throw ServiceNotAvailableException
    Modifier and Type | Method and Description
    --- | ---
    `void` | Groups.`createGroup(String groupName, GroupInfo gInfo)` Create a Group with specified name and configuration.
    `GroupInfo` | Groups.`getGroupInfo(String groupName)` Query for the information [attributes] of a group
    `List<String>` | Groups.`getGroupMembers(String groupName)` Query for the list of instanceIds of the group members.
    `GroupMemberInfo` | Groups.`getMemberInfo(String groupName, String instacneId)` Retrieve the information about a member of the group identified by the instanceId.
    `String` | Groups.`joinGroup(String groupName, String instanceId, GroupListener listener)` Application instance to join a group.
    `void` | Groups.`leaveGroup(String groupName, String instacneId)` Application instance to leave a group.
    `void` | Groups.`runElection(String groupName)` Trigger leader election for a group.

  - ### Uses of ServiceNotAvailableException in com.h3c.dist.keystore

    Methods in com.h3c.dist.keystore that throw ServiceNotAvailableException
    Modifier and Type | Method and Description
    --- | ---
    `KeyValueNode` | KeyStore.`createNode(String appName, String key, byte[] value)` Create a pair in distributed KeyStore.
    `void` | KeyValueNode.`delete(boolean force)` Delete a KeyValueNode stored by the application in distributed KeyStore.
    `List<String>` | KeyStore.`getKeys(String appName)` Query for list of key strings for a application name stored in the distributed KeyStore.
    `byte[]` | KeyValueNode.`getLatestValue()` Get the byte stream stored in the KeyValueNode.
    `KeyValueNode` | KeyStore.`getNode(String appName, String key)` Get a KeyValueNode identified by the application name and the key.
    `byte[]` | KeyValueNode.`getValue()` Get the byte stream stored in the KeyValueNode.
    `void` | KeyValueNode.`setValue(byte[] data, boolean force)` Write/rewrite the data associated with a KeyValueNode.

  - ### Uses of ServiceNotAvailableException in com.h3c.dist.lock

    Methods in com.h3c.dist.lock that throw ServiceNotAvailableException
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | LockService.`changeOwner(Lock lock, ApplicationId appId)` Change the ownership of a set of read and/or write locks.
    `Lock` | LockService.`createMultiLock(ApplicationId appId, LockName name, List<LockNameType> locks)` Create a lock object that represents a pool of locks requested.
    `void` | LockService.`deleteLock(Lock lock)` Delete a lock create using any of the create lock methods above.
    `List<Lock>` | LockService.`getAppLocks(ApplicationId appId)` Get the list of locks `Lock` that are created by the specified application instance.
    `List<Lock>` | LockService.`getAppLocks(List<LockName> lockNameList, ApplicationId appId)` Get the list of locks `Lock` present on the specified set of lockInfos that were created by the provided application instance.
    `void` | Lock.`lock()` Acquire the lock.
    `boolean` | Lock.`tryLock()` Acquires the lock only if it is available at the time of invocation.
    `boolean` | Lock.`tryLock(long timeOut, TimeUnit unit)` Acquire lock with a timeout.
    `void` | Lock.`unlock()` Release the lock which is previously acquired.

  - ### Uses of ServiceNotAvailableException in com.h3c.dist.sync

    Methods in com.h3c.dist.sync that throw ServiceNotAvailableException
    Modifier and Type | Method and Description
    --- | ---
    `SyncServiceNode` | SyncService.`createNode(SyncServiceNodePath nodePath, byte[] data, SyncServiceCreateMode createMode)` Create a new data node on distributed in memory database
    `static List<SyncServiceMultiOpResult>` | SyncServiceUtil.`createPaths(SyncService svc, List<SyncServiceMultiOp> opList)` Attempt to create the paths present in the list.
    `void` | SyncServiceNode.`delete(boolean force)` Delete node from distributed database
    `static void` | SyncServiceUtil.`deletePath(SyncService svc, SyncServiceNodePath path, boolean deleteParent)` Delete a path hierarchy.
    `static void` | SyncServiceUtil.`deletePaths(SyncService svc, List<SyncServiceNodePath> pathList, boolean deleteParent)` Delete a set of path hierarchies.
    `int` | SyncServiceNode.`getChildCount()` Get number of child nodes when the data was read by last invocation of `getData`
    `Collection<SyncServiceNode>` | SyncServiceNode.`getChildren()` Get child nodes for node
    `Collection<SyncServiceNode>` | SyncServiceNode.`getChildren(SyncServiceUser watcher)` Get child nodes for node & register watch for changes to child nodes
    `long` | SyncServiceNode.`getCreateTime()` The time in milliseconds from epoch when this node was created.
    `byte[]` | SyncServiceNode.`getData()` Get data stored in the distributed database for this node
    `byte[]` | SyncServiceNode.`getData(SyncServiceUser watcher)` Get data stored in the distributed database for this node and set watch.
    `SyncServiceNode` | SyncService.`getNode(SyncServiceNodePath nodePath)` Get existing data node from distributed in memory database
    `List<SyncServiceMultiOpResult>` | SyncService.`multi(List<SyncServiceMultiOp> opList)` Execute a batch of sync services operations.
    `boolean` | SyncService.`nodeExists(SyncServiceNodePath nodePath)` Check for node existence
    `boolean` | SyncService.`nodeExists(SyncServiceNodePath nodePath, SyncServiceUser watcher)` Check for node existence and register watch on the node that is triggered when the node is created, deleted or node's data is changed
    `void` | SyncServiceNode.`setData(byte[] data, boolean force)` Write data to the node in the distributed database
    `boolean` | SyncServiceNode.`syncPath()` Sync the current node with other cluster zk instances

Copyright © 2014. All Rights Reserved.