public interface SharedData
Shared data provides:
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.Modifier and Type | Method and Description |
---|---|
<K,V> void |
getAsyncMap(String name,
Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
Get the
AsyncMap with the specified name. |
<K,V> void |
getClusterWideMap(String name,
Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
Get the cluster wide map with the specified name.
|
void |
getCounter(String name,
Handler<AsyncResult<Counter>> resultHandler)
Get an asynchronous counter.
|
<K,V> void |
getLocalAsyncMap(String name,
Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
Get the
AsyncMap with the specified name. |
void |
getLocalCounter(String name,
Handler<AsyncResult<Counter>> resultHandler)
Get an asynchronous local counter.
|
void |
getLocalLock(String name,
Handler<AsyncResult<Lock>> resultHandler)
Get an asynchronous local lock with the specified name.
|
void |
getLocalLockWithTimeout(String name,
long timeout,
Handler<AsyncResult<Lock>> resultHandler)
Like
getLocalLock(String, Handler) but specifying a timeout. |
<K,V> LocalMap<K,V> |
getLocalMap(String name)
Return a
LocalMap with the specific name . |
void |
getLock(String name,
Handler<AsyncResult<Lock>> resultHandler)
Get an asynchronous lock with the specified name.
|
void |
getLockWithTimeout(String name,
long timeout,
Handler<AsyncResult<Lock>> resultHandler)
Like
getLock(String, Handler) but specifying a timeout. |
<K,V> void getClusterWideMap(String name, Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
name
- the name of the mapresultHandler
- the map will be returned asynchronously in this handlerIllegalStateException
- if the parent Vertx
instance is not clustered<K,V> void getAsyncMap(String name, Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
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.
name
- the name of the mapresultHandler
- the map will be returned asynchronously in this handler<K,V> void getLocalAsyncMap(String name, Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)
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.
name
- the name of the mapresultHandler
- the map will be returned asynchronously in this handlervoid getLock(String name, Handler<AsyncResult<Lock>> resultHandler)
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.
name
- the name of the lockresultHandler
- the handlervoid getLockWithTimeout(String name, long timeout, Handler<AsyncResult<Lock>> resultHandler)
getLock(String, Handler)
but specifying a timeout. If the lock is not obtained within the timeout
a failure will be sent to the handler.
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.
name
- the name of the locktimeout
- the timeout in msresultHandler
- the handlervoid getLocalLock(String name, Handler<AsyncResult<Lock>> resultHandler)
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.
name
- the name of the lockresultHandler
- the handlervoid getLocalLockWithTimeout(String name, long timeout, Handler<AsyncResult<Lock>> resultHandler)
getLocalLock(String, Handler)
but specifying a timeout. If the lock is not obtained within the timeout
a failure will be sent to the handler.
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.
name
- the name of the locktimeout
- the timeout in msresultHandler
- the handlervoid getCounter(String name, Handler<AsyncResult<Counter>> resultHandler)
name
- the name of the counter.resultHandler
- the handlervoid getLocalCounter(String name, Handler<AsyncResult<Counter>> resultHandler)
name
- the name of the counter.resultHandler
- the handlerCopyright © 2023 Eclipse. All rights reserved.