public class CuratorZookeeperClient extends Object implements Closeable
Constructor and Description |
---|
CuratorZookeeperClient(EnsembleProvider ensembleProvider,
int sessionTimeoutMs,
int connectionTimeoutMs,
org.apache.zookeeper.Watcher watcher,
RetryPolicy retryPolicy) |
CuratorZookeeperClient(String connectString,
int sessionTimeoutMs,
int connectionTimeoutMs,
org.apache.zookeeper.Watcher watcher,
RetryPolicy retryPolicy) |
CuratorZookeeperClient(ZookeeperFactory zookeeperFactory,
EnsembleProvider ensembleProvider,
int sessionTimeoutMs,
int connectionTimeoutMs,
int waitForShutdownTimeoutMs,
org.apache.zookeeper.Watcher watcher,
RetryPolicy retryPolicy,
boolean canBeReadOnly) |
CuratorZookeeperClient(ZookeeperFactory zookeeperFactory,
EnsembleProvider ensembleProvider,
int sessionTimeoutMs,
int connectionTimeoutMs,
org.apache.zookeeper.Watcher watcher,
RetryPolicy retryPolicy,
boolean canBeReadOnly) |
Modifier and Type | Method and Description |
---|---|
boolean |
blockUntilConnectedOrTimedOut()
This method blocks until the connection to ZK succeeds.
|
void |
close()
Close the client.
|
void |
close(int waitForShutdownTimeoutMs)
Close this client object as the
close() method. |
int |
getConnectionTimeoutMs()
Return the configured connection timeout
|
String |
getCurrentConnectionString()
Returns the current known connection string - not guaranteed to be correct
value at any point in the future.
|
long |
getInstanceIndex()
Every time a new
ZooKeeper instance is allocated, the "instance index"
is incremented. |
int |
getLastNegotiatedSessionTimeoutMs()
Return the most recent value of
ZooKeeper.getSessionTimeout() or 0 |
RetryPolicy |
getRetryPolicy()
Return the current retry policy
|
TracerDriver |
getTracerDriver()
Return the current tracing driver
|
org.apache.zookeeper.ZooKeeper |
getZooKeeper()
Return the managed ZK instance.
|
void |
internalBlockUntilConnectedOrTimedOut()
For internal use only
|
boolean |
isConnected()
Returns true if the client is current connected
|
RetryLoop |
newRetryLoop()
Return a new retry loop.
|
SessionFailRetryLoop |
newSessionFailRetryLoop(SessionFailRetryLoop.Mode mode)
Return a new "session fail" retry loop.
|
void |
reset()
For internal use only - reset the internally managed ZK handle
|
void |
setRetryPolicy(RetryPolicy policy)
Change the retry policy
|
void |
setTracerDriver(TracerDriver tracer)
Change the tracing driver
|
void |
start()
Must be called after construction
|
OperationTrace |
startAdvancedTracer(String name)
Start a new advanced tracer with more metrics being recorded
|
TimeTrace |
startTracer(String name)
Start a new tracer
|
public CuratorZookeeperClient(String connectString, int sessionTimeoutMs, int connectionTimeoutMs, org.apache.zookeeper.Watcher watcher, RetryPolicy retryPolicy)
connectString
- list of servers to connect tosessionTimeoutMs
- session timeoutconnectionTimeoutMs
- connection timeoutwatcher
- default watcher or nullretryPolicy
- the retry policy to usepublic CuratorZookeeperClient(EnsembleProvider ensembleProvider, int sessionTimeoutMs, int connectionTimeoutMs, org.apache.zookeeper.Watcher watcher, RetryPolicy retryPolicy)
ensembleProvider
- the ensemble providersessionTimeoutMs
- session timeoutconnectionTimeoutMs
- connection timeoutwatcher
- default watcher or nullretryPolicy
- the retry policy to usepublic CuratorZookeeperClient(ZookeeperFactory zookeeperFactory, EnsembleProvider ensembleProvider, int sessionTimeoutMs, int connectionTimeoutMs, org.apache.zookeeper.Watcher watcher, RetryPolicy retryPolicy, boolean canBeReadOnly)
zookeeperFactory
- factory for creating ZooKeeper
instancesensembleProvider
- the ensemble providersessionTimeoutMs
- session timeoutconnectionTimeoutMs
- connection timeoutwatcher
- default watcher or nullretryPolicy
- the retry policy to usecanBeReadOnly
- if true, allow ZooKeeper client to enter
read only mode in case of a network partition. See
ZooKeeper(String, int, Watcher, long, byte[], boolean)
for detailspublic CuratorZookeeperClient(ZookeeperFactory zookeeperFactory, EnsembleProvider ensembleProvider, int sessionTimeoutMs, int connectionTimeoutMs, int waitForShutdownTimeoutMs, org.apache.zookeeper.Watcher watcher, RetryPolicy retryPolicy, boolean canBeReadOnly)
zookeeperFactory
- factory for creating ZooKeeper
instancesensembleProvider
- the ensemble providersessionTimeoutMs
- session timeoutconnectionTimeoutMs
- connection timeoutwaitForShutdownTimeoutMs
- default timeout fo close operationwatcher
- default watcher or nullretryPolicy
- the retry policy to usecanBeReadOnly
- if true, allow ZooKeeper client to enter
read only mode in case of a network partition. See
ZooKeeper(String, int, Watcher, long, byte[], boolean)
for detailspublic org.apache.zookeeper.ZooKeeper getZooKeeper() throws Exception
Exception
- if the connection timeout has elapsed or an exception occurs in a background processpublic RetryLoop newRetryLoop()
public SessionFailRetryLoop newSessionFailRetryLoop(SessionFailRetryLoop.Mode mode)
SessionFailRetryLoop
for details
on when to use it.mode
- failure modepublic boolean isConnected()
public boolean blockUntilConnectedOrTimedOut() throws InterruptedException
InterruptedException
- interrupted while waitingpublic void start() throws Exception
IOException
- errorsException
public void close()
close(int)
using the timeout set at construction time.close
in interface Closeable
close
in interface AutoCloseable
close(int)
public void close(int waitForShutdownTimeoutMs)
close()
method.
This method will wait for internal resources to be released.waitForShutdownTimeoutMs
- timeout (in milliseconds) to wait for resources to be released.
Use zero or a negative value to skip the wait.public void setRetryPolicy(RetryPolicy policy)
policy
- new policypublic RetryPolicy getRetryPolicy()
public TimeTrace startTracer(String name)
name
- name of the eventTimeTrace.commit()
must be called)public OperationTrace startAdvancedTracer(String name)
name
- name of the eventOperationTrace.commit()
must be called)public TracerDriver getTracerDriver()
public void setTracerDriver(TracerDriver tracer)
tracer
- new tracing driverpublic String getCurrentConnectionString()
public int getConnectionTimeoutMs()
public void reset() throws Exception
Exception
- errorspublic long getInstanceIndex()
ZooKeeper
instance is allocated, the "instance index"
is incremented.public int getLastNegotiatedSessionTimeoutMs()
ZooKeeper.getSessionTimeout()
or 0public void internalBlockUntilConnectedOrTimedOut() throws InterruptedException
InterruptedException
- interruptionsCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.