public class ZookeeperClusterManager extends Object implements ClusterManager, org.apache.curator.framework.recipes.cache.PathChildrenCacheListener
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) |
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.
|
void |
childEvent(org.apache.curator.framework.CuratorFramework client,
org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent event) |
<K,V> void |
getAsyncMap(String name,
Promise<AsyncMap<K,V>> promise)
Return an
AsyncMap for the given name . |
JsonObject |
getConfig() |
void |
getCounter(String name,
Promise<Counter> promise)
Return a
Counter for the given name . |
org.apache.curator.framework.CuratorFramework |
getCuratorFramework() |
void |
getLockWithTimeout(String name,
long timeout,
Promise<Lock> promise)
|
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 listener)
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 |
setConfig(JsonObject conf) |
void |
setNodeInfo(NodeInfo nodeInfo,
Promise<Void> promise)
Store the details about this clustered node.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clusterHost, clusterPublicHost, init
public ZookeeperClusterManager()
public ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator)
public ZookeeperClusterManager(String resourceLocation)
public ZookeeperClusterManager(org.apache.curator.framework.CuratorFramework curator, String nodeId)
public ZookeeperClusterManager(JsonObject config)
public void setConfig(JsonObject conf)
public JsonObject getConfig()
public org.apache.curator.framework.CuratorFramework getCuratorFramework()
public void init(Vertx vertx, NodeSelector nodeSelector)
ClusterManager
Implementations must signal the provided nodeSelector
when messaging handler registrations are added or removed
by sending a RegistrationUpdateEvent
with NodeSelector.registrationsUpdated(RegistrationUpdateEvent)
.
init
in interface ClusterManager
vertx
- the Vert.x instancenodeSelector
- the NodeSelector
that must receive RegistrationUpdateEvent
.public <K,V> void getAsyncMap(String name, Promise<AsyncMap<K,V>> promise)
ClusterManager
AsyncMap
for the given name
.getAsyncMap
in interface ClusterManager
public <K,V> Map<K,V> getSyncMap(String name)
ClusterManager
name
.getSyncMap
in interface ClusterManager
public void getLockWithTimeout(String name, long timeout, Promise<Lock> promise)
ClusterManager
getLockWithTimeout
in interface ClusterManager
public void getCounter(String name, Promise<Counter> promise)
ClusterManager
Counter
for the given name
.getCounter
in interface ClusterManager
public String getNodeId()
ClusterManager
getNodeId
in interface ClusterManager
public List<String> getNodes()
ClusterManager
getNodes
in interface ClusterManager
public void nodeListener(NodeListener listener)
ClusterManager
nodeListener
in interface ClusterManager
public void setNodeInfo(NodeInfo nodeInfo, Promise<Void> promise)
ClusterManager
setNodeInfo
in interface ClusterManager
public NodeInfo getNodeInfo()
ClusterManager
getNodeInfo
in interface ClusterManager
public void getNodeInfo(String nodeId, Promise<NodeInfo> promise)
ClusterManager
getNodeInfo
in interface ClusterManager
nodeId
- the clustered node idpublic void join(Promise<Void> promise)
ClusterManager
join
in interface ClusterManager
public void leave(Promise<Void> promise)
ClusterManager
leave
in interface ClusterManager
public boolean isActive()
ClusterManager
isActive
in interface ClusterManager
public void addRegistration(String address, RegistrationInfo registrationInfo, Promise<Void> promise)
ClusterManager
addRegistration
in interface ClusterManager
public void removeRegistration(String address, RegistrationInfo registrationInfo, Promise<Void> promise)
ClusterManager
removeRegistration
in interface ClusterManager
public void getRegistrations(String address, Promise<List<RegistrationInfo>> promise)
ClusterManager
getRegistrations
in interface ClusterManager
public void childEvent(org.apache.curator.framework.CuratorFramework client, org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent event) throws Exception
childEvent
in interface org.apache.curator.framework.recipes.cache.PathChildrenCacheListener
Exception
Copyright © 2023 Eclipse. All rights reserved.