Class SharedData


  • public class SharedData
    extends Object
    Shared data allows you to share data safely between different parts of your application in a safe way.

    Shared data provides:

    • synchronous shared maps (local)
    • asynchronous maps (local or cluster-wide)
    • asynchronous locks (local or cluster-wide)
    • asynchronous counters (local or cluster-wide)

    WARNING: In clustered mode, asynchronous maps/locks/counters rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous maps/locks/counters operations can be much higher in clustered than in local mode.

    Please see the documentation for more information.

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Constructor Detail

      • SharedData

        public SharedData​(SharedData delegate)
      • SharedData

        public SharedData​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getClusterWideMap

        public <K,​V> void getClusterWideMap​(String name,
                                                  Handler<AsyncResult<AsyncMap<K,​V>>> resultHandler)
        Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.
        Parameters:
        name - the name of the map
        resultHandler - the map will be returned asynchronously in this handler
      • getClusterWideMap

        public <K,​V> void getClusterWideMap​(String name)
        Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.
        Parameters:
        name - the name of the map
      • rxGetClusterWideMap

        public <K,​V> io.reactivex.Single<AsyncMap<K,​V>> rxGetClusterWideMap​(String name)
        Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.
        Parameters:
        name - the name of the map
        Returns:
      • getAsyncMap

        public <K,​V> void getAsyncMap​(String name,
                                            Handler<AsyncResult<AsyncMap<K,​V>>> resultHandler)
        Get the AsyncMap with the specified name. When clustered, the map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.

        WARNING: In clustered mode, asynchronous shared maps rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous shared maps operations can be much higher in clustered than in local mode.

        Parameters:
        name - the name of the map
        resultHandler - the map will be returned asynchronously in this handler
      • getAsyncMap

        public <K,​V> void getAsyncMap​(String name)
        Get the AsyncMap with the specified name. When clustered, the map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.

        WARNING: In clustered mode, asynchronous shared maps rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous shared maps operations can be much higher in clustered than in local mode.

        Parameters:
        name - the name of the map
      • rxGetAsyncMap

        public <K,​V> io.reactivex.Single<AsyncMap<K,​V>> rxGetAsyncMap​(String name)
        Get the AsyncMap with the specified name. When clustered, the map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.

        WARNING: In clustered mode, asynchronous shared maps rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous shared maps operations can be much higher in clustered than in local mode.

        Parameters:
        name - the name of the map
        Returns:
      • getLocalAsyncMap

        public <K,​V> void getLocalAsyncMap​(String name,
                                                 Handler<AsyncResult<AsyncMap<K,​V>>> resultHandler)
        Get the AsyncMap with the specified name.

        When clustered, the map is NOT accessible to all nodes in the cluster. Only the instance which created the map can put and retrieve data from this map.

        Parameters:
        name - the name of the map
        resultHandler - the map will be returned asynchronously in this handler
      • getLocalAsyncMap

        public <K,​V> void getLocalAsyncMap​(String name)
        Get the AsyncMap with the specified name.

        When clustered, the map is NOT accessible to all nodes in the cluster. Only the instance which created the map can put and retrieve data from this map.

        Parameters:
        name - the name of the map
      • rxGetLocalAsyncMap

        public <K,​V> io.reactivex.Single<AsyncMap<K,​V>> rxGetLocalAsyncMap​(String name)
        Get the AsyncMap with the specified name.

        When clustered, the map is NOT accessible to all nodes in the cluster. Only the instance which created the map can put and retrieve data from this map.

        Parameters:
        name - the name of the map
        Returns:
      • getLock

        public void getLock​(String name,
                            Handler<AsyncResult<Lock>> resultHandler)
        Get an asynchronous lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
        resultHandler - the handler
      • getLock

        public void getLock​(String name)
        Get an asynchronous lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
      • rxGetLock

        public io.reactivex.Single<Lock> rxGetLock​(String name)
        Get an asynchronous lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
        Returns:
      • getLocalLock

        public void getLocalLock​(String name,
                                 Handler<AsyncResult<Lock>> resultHandler)
        Get an asynchronous local lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
        resultHandler - the handler
      • getLocalLock

        public void getLocalLock​(String name)
        Get an asynchronous local lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
      • rxGetLocalLock

        public io.reactivex.Single<Lock> rxGetLocalLock​(String name)
        Get an asynchronous local lock with the specified name. The lock will be passed to the handler when it is available.

        In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.

        Parameters:
        name - the name of the lock
        Returns:
      • getCounter

        public void getCounter​(String name,
                               Handler<AsyncResult<Counter>> resultHandler)
        Get an asynchronous counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
        resultHandler - the handler
      • getCounter

        public void getCounter​(String name)
        Get an asynchronous counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
      • rxGetCounter

        public io.reactivex.Single<Counter> rxGetCounter​(String name)
        Get an asynchronous counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
        Returns:
      • getLocalCounter

        public void getLocalCounter​(String name,
                                    Handler<AsyncResult<Counter>> resultHandler)
        Get an asynchronous local counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
        resultHandler - the handler
      • getLocalCounter

        public void getLocalCounter​(String name)
        Get an asynchronous local counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
      • rxGetLocalCounter

        public io.reactivex.Single<Counter> rxGetLocalCounter​(String name)
        Get an asynchronous local counter. The counter will be passed to the handler.
        Parameters:
        name - the name of the counter.
        Returns:
      • getLocalMap

        public <K,​V> LocalMap<K,​V> getLocalMap​(String name)
        Return a LocalMap with the specific name.
        Parameters:
        name - the name of the map
        Returns:
        the map