Class CuratorFrameworkFactory.Builder
- Enclosing class:
CuratorFrameworkFactory
-
Method Summary
Modifier and TypeMethodDescriptionaclProvider
(ACLProvider aclProvider) authorization
(String scheme, byte[] auth) Add connection authorization Subsequent calls to this method overwrite the prior calls.authorization
(List<AuthInfo> authInfos) Add connection authorization.build()
Apply the current values and build a new CuratorFrameworkApply the current values and build a new temporary CuratorFramework.Apply the current values and build a new temporary CuratorFramework.boolean
canBeReadOnly
(boolean canBeReadOnly) compressionProvider
(CompressionProvider compressionProvider) connectionStateErrorPolicy
(ConnectionStateErrorPolicy connectionStateErrorPolicy) Set the error policy to use.connectionStateListenerManagerFactory
(ConnectionStateListenerManagerFactory connectionStateListenerManagerFactory) Sets the connection state listener manager factory.connectionTimeoutMs
(int connectionTimeoutMs) connectString
(String connectString) Set the list of servers to connect to.defaultData
(byte[] defaultData) Sets the data to use whenPathAndBytesable.forPath(String)
is used.By default, Curator usesCreateBuilderMain.creatingParentContainersIfNeeded()
if the ZK JAR supportsCreateMode.CONTAINER
.ensembleProvider
(EnsembleProvider ensembleProvider) Set the list ensemble provider.ensembleTracker
(boolean withEnsembleTracker) Allows to configure if the ensemble configuration changes will be watched.Deprecated.byte[]
Deprecated.int
byte[]
int
int
int
int
org.apache.zookeeper.client.ZKClientConfig
maxCloseWaitMs
(int maxCloseWaitMs) As ZooKeeper is a shared space, users of a given cluster should stay within a pre-defined namespace.retryPolicy
(RetryPolicy retryPolicy) runSafeService
(Executor runSafeService) Curator (and user) recipes will use this executor to call notifyAll and other blocking calls that might normally block ZooKeeper's event thread.Add an enforced schema setsessionTimeoutMs
(int sessionTimeoutMs) simulatedSessionExpirationPercent
(int simulatedSessionExpirationPercent) Prior to 3.0.0, Curator did not try to manage session expiration other than the functionality provided by ZooKeeper itself.threadFactory
(ThreadFactory threadFactory) boolean
waitForShutdownTimeoutMs
(int waitForShutdownTimeoutMs) Set a timeout forCuratorZookeeperClient.close(int)
}.boolean
zkClientConfig
(org.apache.zookeeper.client.ZKClientConfig zkClientConfig) zookeeperCompatibility
(ZookeeperCompatibility zookeeperCompatibility) zookeeperFactory
(ZookeeperFactory zookeeperFactory)
-
Method Details
-
build
Apply the current values and build a new CuratorFramework- Returns:
- new CuratorFramework
-
buildTemp
Apply the current values and build a new temporary CuratorFramework. Temporary CuratorFramework instances are meant for single requests to ZooKeeper ensembles over a failure prone network such as a WAN. The APIs available fromCuratorTempFramework
are limited. Further, the connection will be closed after 3 minutes of inactivity.- Returns:
- temp instance
-
buildTemp
Apply the current values and build a new temporary CuratorFramework. Temporary CuratorFramework instances are meant for single requests to ZooKeeper ensembles over a failure prone network such as a WAN. The APIs available fromCuratorTempFramework
are limited. Further, the connection will be closed afterinactiveThresholdMs
milliseconds of inactivity.- Parameters:
inactiveThreshold
- number of milliseconds of inactivity to cause connection closeunit
- threshold unit- Returns:
- temp instance
-
authorization
Add connection authorization Subsequent calls to this method overwrite the prior calls.- Parameters:
scheme
- the schemeauth
- the auth bytes- Returns:
- this
-
authorization
Add connection authorization. The supplied authInfos are appended to those added via call toauthorization(java.lang.String, byte[])
for backward compatibility. Subsequent calls to this method overwrite the prior calls.- Parameters:
authInfos
- list ofAuthInfo
objects with scheme and auth- Returns:
- this
-
connectString
Set the list of servers to connect to. IMPORTANT: use either this orensembleProvider(EnsembleProvider)
but not both.- Parameters:
connectString
- list of servers to connect to- Returns:
- this
-
ensembleProvider
Set the list ensemble provider. IMPORTANT: use either this orconnectString(String)
but not both.- Parameters:
ensembleProvider
- the ensemble provider to use- Returns:
- this
-
ensembleTracker
Allows to configure if the ensemble configuration changes will be watched. The default value istrue
.
IMPORTANT: Use this method in combination withensembleProvider(EnsembleProvider)
to provide an instance that returnsfalse
onEnsembleProvider.updateServerListEnabled()
in order to fully achieve that ensemble server list changes are ignored- Parameters:
withEnsembleTracker
- usefalse
if you want to avoid following ensemble configuration changes- Returns:
- this
-
withEnsembleTracker
public boolean withEnsembleTracker()- Returns:
true
if ensemble configuration changes MUST be watched
-
defaultData
Sets the data to use whenPathAndBytesable.forPath(String)
is used. This is useful for debugging purposes. For example, you could set this to be the IP of the client.- Parameters:
defaultData
- new default data to use- Returns:
- this
-
namespace
As ZooKeeper is a shared space, users of a given cluster should stay within a pre-defined namespace. If a namespace is set here, all paths will get pre-pended with the namespace- Parameters:
namespace
- the namespace- Returns:
- this
-
sessionTimeoutMs
- Parameters:
sessionTimeoutMs
- session timeout- Returns:
- this
-
connectionTimeoutMs
- Parameters:
connectionTimeoutMs
- connection timeout- Returns:
- this
-
maxCloseWaitMs
- Parameters:
maxCloseWaitMs
- time to wait during close to join background threads- Returns:
- this
-
retryPolicy
- Parameters:
retryPolicy
- retry policy to use- Returns:
- this
-
threadFactory
- Parameters:
threadFactory
- thread factory used to create Executor Services- Returns:
- this
-
compressionProvider
- Parameters:
compressionProvider
- the compression provider- Returns:
- this
-
zookeeperFactory
- Parameters:
zookeeperFactory
- the zookeeper factory to use- Returns:
- this
-
aclProvider
- Parameters:
aclProvider
- a provider for ACLs- Returns:
- this
-
canBeReadOnly
- Parameters:
canBeReadOnly
- if true, allow ZooKeeper client to enter read only mode in case of a network partition. SeeZooKeeper(String, int, Watcher, long, byte[], boolean)
for details- Returns:
- this
-
dontUseContainerParents
By default, Curator usesCreateBuilderMain.creatingParentContainersIfNeeded()
if the ZK JAR supportsCreateMode.CONTAINER
. Call this method to turn off this behavior.- Returns:
- this
-
connectionStateErrorPolicy
public CuratorFrameworkFactory.Builder connectionStateErrorPolicy(ConnectionStateErrorPolicy connectionStateErrorPolicy) Set the error policy to use. The default isStandardConnectionStateErrorPolicy
- Parameters:
connectionStateErrorPolicy
- new error policy- Returns:
- this
- Since:
- 3.0.0
-
waitForShutdownTimeoutMs
Set a timeout forCuratorZookeeperClient.close(int)
}. The default is 0, which means that this feature is disabled.- Parameters:
waitForShutdownTimeoutMs
- default timeout- Returns:
- this
- Since:
- 4.0.2
-
simulatedSessionExpirationPercent
public CuratorFrameworkFactory.Builder simulatedSessionExpirationPercent(int simulatedSessionExpirationPercent) Prior to 3.0.0, Curator did not try to manage session expiration other than the functionality provided by ZooKeeper itself. Starting with 3.0.0, Curator has the option of attempting to monitor session expiration above what is provided by ZooKeeper. The percentage set by this method determines how and if Curator will check for session expiration.
The default percentage is 100.
If it is set to 0, Curator does not do any additional checking for session expiration.
If a positive number is set, Curator will check for session expiration as follows: when ZooKeeper sends a Disconnect event, Curator will start a timer. If re-connection is not achieved before the elapsed time exceeds the negotiated session time multiplied by the session expiration percent, Curator will simulate a session expiration. Due to timing/network issues, it is not possible for a client to match the server's session timeout with complete accuracy. Thus, the need for a session expiration percentage.
- Parameters:
simulatedSessionExpirationPercent
- new simulated session expiration percentage- Returns:
- this
- Since:
- 5.0
-
zkClientConfig
public CuratorFrameworkFactory.Builder zkClientConfig(org.apache.zookeeper.client.ZKClientConfig zkClientConfig) -
schemaSet
Add an enforced schema set- Parameters:
schemaSet
- the schema set- Returns:
- this
- Since:
- 3.2.0
-
runSafeService
Curator (and user) recipes will use this executor to call notifyAll and other blocking calls that might normally block ZooKeeper's event thread. By default, an executor is allocated internally using the provided (or default)threadFactory(java.util.concurrent.ThreadFactory)
. Use this method to set a custom executor.- Parameters:
runSafeService
- executor to use for calls to notifyAll from Watcher callbacks etc- Returns:
- this
- Since:
- 4.1.0
-
connectionStateListenerManagerFactory
public CuratorFrameworkFactory.Builder connectionStateListenerManagerFactory(ConnectionStateListenerManagerFactory connectionStateListenerManagerFactory) Sets the connection state listener manager factory. For example, you can setConnectionStateListenerManagerFactory.circuitBreaking(org.apache.curator.RetryPolicy)
- Parameters:
connectionStateListenerManagerFactory
- manager factory to use- Returns:
- this
- Since:
- 4.2.0
-
zookeeperCompatibility
public CuratorFrameworkFactory.Builder zookeeperCompatibility(ZookeeperCompatibility zookeeperCompatibility) -
getRunSafeService
-
getAclProvider
-
getZookeeperFactory
-
getCompressionProvider
-
getThreadFactory
-
getEnsembleProvider
-
getSessionTimeoutMs
public int getSessionTimeoutMs() -
getConnectionTimeoutMs
public int getConnectionTimeoutMs() -
getWaitForShutdownTimeoutMs
public int getWaitForShutdownTimeoutMs() -
getMaxCloseWaitMs
public int getMaxCloseWaitMs() -
getRetryPolicy
-
getNamespace
-
useContainerParentsIfAvailable
public boolean useContainerParentsIfAvailable() -
getConnectionStateErrorPolicy
-
getSimulatedSessionExpirationPercent
public int getSimulatedSessionExpirationPercent() -
getZkClientConfig
public org.apache.zookeeper.client.ZKClientConfig getZkClientConfig() -
getSchemaSet
-
getAuthScheme
Deprecated. -
getAuthValue
Deprecated. -
getAuthInfos
-
getDefaultData
public byte[] getDefaultData() -
canBeReadOnly
public boolean canBeReadOnly() -
getConnectionStateListenerManagerFactory
-
getZookeeperCompatibility
-