io.vertx.ext.cluster.infinispan

## Class InfinispanClusterManager

- java.lang.Object
- - io.vertx.ext.cluster.infinispan.InfinispanClusterManager

- All Implemented Interfaces:
    ClusterManager, VertxServiceProvider

      public class InfinispanClusterManager
      extends Object
      implements ClusterManager

  Author:
    Thomas Segismont

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InfinispanClusterManager()` Creates a new cluster manager configured with `infinispan.xml` and `jgroups.xml` files.
    `InfinispanClusterManager(org.infinispan.manager.DefaultCacheManager cacheManager)` Creates a new cluster manager with an existing `DefaultCacheManager`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRegistration(String address, RegistrationInfo registrationInfo, Promise<Void> promise)` Share a new messaging handler registration with other nodes in the cluster.
    `String` | `clusterHost()` If the cluster manager has its own server for data/membership, this returns the host it is listening to.
    `String` | `clusterPublicHost()` If the cluster manager has its own server for data/membership, this returns the host it advertises to other nodes.
    `<K,V> void` | `getAsyncMap(String name, Promise<AsyncMap<K,V>> promise)` Return an `AsyncMap` for the given `name`.
    `org.infinispan.commons.api.BasicCacheContainer` | `getCacheContainer()`
    `void` | `getCounter(String name, Promise<Counter> promise)` Return a `Counter` for the given `name`.
    `void` | `getLockWithTimeout(String name, long timeout, Promise<Lock> prom)` Attempts to acquire a `Lock` for the given `name` within `timeout` milliseconds.
    `String` | `getNodeId()` Return the unique node identifier for this node.
    `NodeInfo` | `getNodeInfo()` Get details about this clustered node.
    `void` | `getNodeInfo(String nodeId, Promise<NodeInfo> promise)` Get details about a specific node in the cluster.
    `List<String>` | `getNodes()` Return a list of node identifiers corresponding to the nodes in the cluster.
    `void` | `getRegistrations(String address, Promise<List<RegistrationInfo>> promise)` Get the messaging handler currently registered in the cluster.
    `<K,V> Map<K,V>` | `getSyncMap(String name)` Return a synchronous map for the given `name`.
    `void` | `init(Vertx vertx, NodeSelector nodeSelector)` Invoked before this cluster node tries to join the cluster.
    `boolean` | `isActive()` Is the cluster manager active?
    `void` | `join(Promise<Void> promise)` Join the cluster.
    `void` | `leave(Promise<Void> promise)` Leave the cluster.
    `void` | `nodeListener(NodeListener nodeListener)` Set a listener that will be called when a node joins or leaves the cluster.
    `void` | `removeRegistration(String address, RegistrationInfo registrationInfo, Promise<Void> promise)` Signal removal of a messaging handler registration to other nodes in the cluster.
    `void` | `setNodeInfo(NodeInfo nodeInfo, Promise<Void> promise)` Store the details about this clustered node.

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

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

    - ### Methods inherited from interface io.vertx.core.spi.cluster.ClusterManager

      `init`

- - ### Constructor Detail

    - #### InfinispanClusterManager

          public InfinispanClusterManager()

      Creates a new cluster manager configured with `infinispan.xml` and `jgroups.xml` files.

    - #### InfinispanClusterManager

          public InfinispanClusterManager(org.infinispan.manager.DefaultCacheManager cacheManager)

      Creates a new cluster manager with an existing `DefaultCacheManager`. It is your responsibility to start/stop the cache manager when the Vert.x instance joins/leaves the cluster.
      Parameters:
        `cacheManager` - the existing cache manager

  - ### Method Detail

    - #### init

          public void init(Vertx vertx,
                           NodeSelector nodeSelector)

      Description copied from interface: `ClusterManager`
      Invoked before this cluster node tries to join the cluster.

      Implementations must signal the provided `nodeSelector` when messaging handler registrations are added or removed by sending a `RegistrationUpdateEvent` with `NodeSelector.registrationsUpdated(RegistrationUpdateEvent)`.

      Specified by:
        `init` in interface `ClusterManager`
      Parameters:
        `vertx` - the Vert.x instance
        `nodeSelector` - the `NodeSelector` that must receive `RegistrationUpdateEvent`.

    - #### getCacheContainer

          public org.infinispan.commons.api.BasicCacheContainer getCacheContainer()

    - #### getAsyncMap

          public <K,V> void getAsyncMap(String name,
                                        Promise<AsyncMap<K,V>> promise)

      Description copied from interface: `ClusterManager`
      Return an `AsyncMap` 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,
                                         Promise<Lock> prom)

      Description copied from interface: `ClusterManager`
      Attempts to acquire a `Lock` for the given `name` within `timeout` milliseconds.
      Specified by:
        `getLockWithTimeout` in interface `ClusterManager`

    - #### getCounter

          public void getCounter(String name,
                                 Promise<Counter> promise)

      Description copied from interface: `ClusterManager`
      Return a `Counter` for the given `name`.
      Specified by:
        `getCounter` in interface `ClusterManager`

    - #### getNodeId

          public String getNodeId()

      Description copied from interface: `ClusterManager`
      Return the unique node identifier for this node.
      Specified by:
        `getNodeId` in interface `ClusterManager`

    - #### getNodes

          public List<String> getNodes()

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

    - #### nodeListener

          public void nodeListener(NodeListener nodeListener)

      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`

    - #### setNodeInfo

          public void setNodeInfo(NodeInfo nodeInfo,
                                  Promise<Void> promise)

      Description copied from interface: `ClusterManager`
      Store the details about this clustered node.
      Specified by:
        `setNodeInfo` in interface `ClusterManager`

    - #### getNodeInfo

          public NodeInfo getNodeInfo()

      Description copied from interface: `ClusterManager`
      Get details about this clustered node.
      Specified by:
        `getNodeInfo` in interface `ClusterManager`

    - #### getNodeInfo

          public void getNodeInfo(String nodeId,
                                  Promise<NodeInfo> promise)

      Description copied from interface: `ClusterManager`
      Get details about a specific node in the cluster.
      Specified by:
        `getNodeInfo` in interface `ClusterManager`
      Parameters:
        `nodeId` - the clustered node id

    - #### join

          public void join(Promise<Void> promise)

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

    - #### leave

          public void leave(Promise<Void> promise)

      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

    - #### addRegistration

          public void addRegistration(String address,
                                      RegistrationInfo registrationInfo,
                                      Promise<Void> promise)

      Description copied from interface: `ClusterManager`
      Share a new messaging handler registration with other nodes in the cluster.
      Specified by:
        `addRegistration` in interface `ClusterManager`

    - #### removeRegistration

          public void removeRegistration(String address,
                                         RegistrationInfo registrationInfo,
                                         Promise<Void> promise)

      Description copied from interface: `ClusterManager`
      Signal removal of a messaging handler registration to other nodes in the cluster.
      Specified by:
        `removeRegistration` in interface `ClusterManager`

    - #### getRegistrations

          public void getRegistrations(String address,
                                       Promise<List<RegistrationInfo>> promise)

      Description copied from interface: `ClusterManager`
      Get the messaging handler currently registered in the cluster.
      Specified by:
        `getRegistrations` in interface `ClusterManager`

    - #### clusterHost

          public String clusterHost()

      Description copied from interface: `ClusterManager`
      If the cluster manager has its own server for data/membership, this returns the host it is listening to. When users don't configure the eventbus cluster host, the value will serve as a default.
      Specified by:
        `clusterHost` in interface `ClusterManager`
      Returns:
        null if the cluster manager does not start a server or the host couldn't be determined

    - #### clusterPublicHost

          public String clusterPublicHost()

      Description copied from interface: `ClusterManager`
      If the cluster manager has its own server for data/membership, this returns the host it advertises to other nodes. When users don't configure the eventbus cluster public host, the value will serve as a default.
      Specified by:
        `clusterPublicHost` in interface `ClusterManager`
      Returns:
        null if the cluster manager does not advertise a host that is different from the cluster host or the public host couldn't be determined

Copyright © 2023 Eclipse. All rights reserved.