io.vertx.spi.cluster.zookeeper

## Class ZookeeperClusterManager

- java.lang.Object
- - io.vertx.spi.cluster.zookeeper.ZookeeperClusterManager

- All Implemented Interfaces:
    ClusterManager, org.apache.curator.framework.recipes.cache.PathChildrenCacheListener

      public class ZookeeperClusterManager
      extends Object
      implements ClusterManager, org.apache.curator.framework.recipes.cache.PathChildrenCacheListener

  A cluster manager that uses Zookeeper
  Author:
    Stream.Liu

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ZookeeperClusterManager()`
    `ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator)`
    `ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator, String nodeID)`
    `ZookeeperClusterManager(JsonObject config)`
    `ZookeeperClusterManager(String resourceLocation)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `childEvent(org.apache.curator.framework.CuratorFramework client, org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent event)`
    `<K,V> void` | `getAsyncMap(String name, Handler<AsyncResult<AsyncMap<K,V>>> handler)` Return an async map for the given name
    `<K,V> void` | `getAsyncMultiMap(String name, Handler<AsyncResult<AsyncMultiMap<K,V>>> handler)` Every eventbus handler has an ID.
    `JsonObject` | `getConfig()`
    `void` | `getCounter(String name, Handler<AsyncResult<Counter>> resultHandler)`
    `org.apache.curator.framework.CuratorFramework` | `getCuratorFramework()`
    `void` | `getLockWithTimeout(String name, long timeout, Handler<AsyncResult<Lock>> resultHandler)`
    `String` | `getNodeID()` Return the unique node ID for this node
    `List<String>` | `getNodes()` Return a list of node IDs corresponding to the nodes in the cluster
    `<K,V> Map<K,V>` | `getSyncMap(String name)` Return a synchronous map for the given name
    `boolean` | `isActive()` Is the cluster manager active?
    `void` | `join(Handler<AsyncResult<Void>> resultHandler)` Join the cluster
    `void` | `leave(Handler<AsyncResult<Void>> resultHandler)` Leave the cluster
    `void` | `nodeListener(NodeListener listener)` Set a listener that will be called when a node joins or leaves the cluster.
    `void` | `setConfig(JsonObject conf)`
    `void` | `setVertx(Vertx vertx)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ZookeeperClusterManager

          public ZookeeperClusterManager()

    - #### ZookeeperClusterManager

          public ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator)

    - #### ZookeeperClusterManager

          public ZookeeperClusterManager(String resourceLocation)

    - #### ZookeeperClusterManager

          public ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator,
                                         String nodeID)

    - #### ZookeeperClusterManager

          public ZookeeperClusterManager(JsonObject config)

  - ### Method Detail

    - #### setConfig

          public void setConfig(JsonObject conf)

    - #### getConfig

          public JsonObject getConfig()

    - #### getCuratorFramework

          public org.apache.curator.framework.CuratorFramework getCuratorFramework()

    - #### setVertx

          public void setVertx(Vertx vertx)

      Specified by:
        `setVertx` in interface `ClusterManager`

    - #### getAsyncMultiMap

          public <K,V> void getAsyncMultiMap(String name,
                                             Handler<AsyncResult<AsyncMultiMap<K,V>>> handler)

      Every eventbus handler has an ID. SubsMap (subscriber map) is a MultiMap which maps handler-IDs with server-IDs and thus allows the eventbus to determine where to send messages.
      Specified by:
        `getAsyncMultiMap` in interface `ClusterManager`
      Parameters:
        `name` - A unique name by which the the MultiMap can be identified within the cluster. See the cluster config file (e.g. io.vertx.spi.cluster.impl.zookeeper.zookeeper.properties in case of ZookeeperClusterManager) for additional MultiMap config parameters.

    - #### getAsyncMap

          public <K,V> void getAsyncMap(String name,
                                        Handler<AsyncResult<AsyncMap<K,V>>> handler)

      Description copied from interface: `ClusterManager`
      Return an async map for the given name
      Specified by:
        `getAsyncMap` in interface `ClusterManager`

    - #### getSyncMap

          public <K,V> Map<K,V> getSyncMap(String name)

      Description copied from interface: `ClusterManager`
      Return a synchronous map for the given name
      Specified by:
        `getSyncMap` in interface `ClusterManager`

    - #### getLockWithTimeout

          public void getLockWithTimeout(String name,
                                         long timeout,
                                         Handler<AsyncResult<Lock>> resultHandler)

      Specified by:
        `getLockWithTimeout` in interface `ClusterManager`

    - #### getCounter

          public void getCounter(String name,
                                 Handler<AsyncResult<Counter>> resultHandler)

      Specified by:
        `getCounter` in interface `ClusterManager`

    - #### getNodeID

          public String getNodeID()

      Description copied from interface: `ClusterManager`
      Return the unique node ID for this node
      Specified by:
        `getNodeID` in interface `ClusterManager`

    - #### getNodes

          public List<String> getNodes()

      Description copied from interface: `ClusterManager`
      Return a list of node IDs corresponding to the nodes in the cluster
      Specified by:
        `getNodes` in interface `ClusterManager`

    - #### nodeListener

          public void nodeListener(NodeListener listener)

      Description copied from interface: `ClusterManager`
      Set a listener that will be called when a node joins or leaves the cluster.
      Specified by:
        `nodeListener` in interface `ClusterManager`

    - #### join

          public void join(Handler<AsyncResult<Void>> resultHandler)

      Description copied from interface: `ClusterManager`
      Join the cluster
      Specified by:
        `join` in interface `ClusterManager`

    - #### leave

          public void leave(Handler<AsyncResult<Void>> resultHandler)

      Description copied from interface: `ClusterManager`
      Leave the cluster
      Specified by:
        `leave` in interface `ClusterManager`

    - #### isActive

          public boolean isActive()

      Description copied from interface: `ClusterManager`
      Is the cluster manager active?
      Specified by:
        `isActive` in interface `ClusterManager`
      Returns:
        true if active, false otherwise

    - #### childEvent

          public void childEvent(org.apache.curator.framework.CuratorFramework client,
                                 org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent event)
                          throws Exception

      Specified by:
        `childEvent` in interface `org.apache.curator.framework.recipes.cache.PathChildrenCacheListener`
      Throws:
        `Exception`

Copyright © 2017. All rights reserved.