Package com.clickhouse.client
Class ClickHouseClientBuilder
- java.lang.Object
-
- com.clickhouse.client.ClickHouseClientBuilder
-
public class ClickHouseClientBuilder extends Object
Builder class for creatingClickHouseClient. Please useClickHouseClient.builder()for instantiation, and avoid multi-threading as it's NOT thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description protected ClickHouseConfigconfigprotected ClickHouseCredentialscredentialsprotected ObjectmetricRegistryprotected ClickHouseNodeSelectornodeSelectorprotected Map<ClickHouseOption,Serializable>options
-
Constructor Summary
Constructors Modifier Constructor Description protectedClickHouseClientBuilder()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClickHouseClientbuild()Builds an instance ofClickHouseClient.ClickHouseClientBuilderconfig(ClickHouseConfig config)Sets configuration.ClickHouseClientBuilderdefaultCredentials(ClickHouseCredentials credentials)Sets default credentials, which will be used to connect to aClickHouseNodeonly when it has no credentials defined.ClickHouseConfiggetConfig()Gets client configuration.ClickHouseClientBuildermetricRegistry(Object metricRegistry)Sets metric registry.ClickHouseClientBuildernodeSelector(ClickHouseNodeSelector nodeSelector)Sets node selector.ClickHouseClientBuilderoption(ClickHouseOption option, Serializable value)Adds an option, which is usually an Enum type that implementsClickHouseOption.ClickHouseClientBuilderoptions(Map<ClickHouseOption,Serializable> options)Sets options.ClickHouseClientBuilderremoveOption(ClickHouseOption option)Removes an option.protected voidresetConfig()Resets client configuration to null.
-
-
-
Field Detail
-
config
protected ClickHouseConfig config
-
credentials
protected ClickHouseCredentials credentials
-
metricRegistry
protected Object metricRegistry
-
nodeSelector
protected ClickHouseNodeSelector nodeSelector
-
options
protected final Map<ClickHouseOption,Serializable> options
-
-
Method Detail
-
resetConfig
protected void resetConfig()
Resets client configuration to null.
-
getConfig
public ClickHouseConfig getConfig()
Gets client configuration.- Returns:
- non-null client configuration
-
build
public ClickHouseClient build()
Builds an instance ofClickHouseClient. This method will useServiceLoaderto load a suitable implementation based on preferred protocol(s), or just the first one if no preference given.ClickHouseClient.accept(ClickHouseProtocol)will be invoked during the process to test if the implementation is compatible with the preferred protocol(s) or not. At the end of process, if a suitable implementation is found,ClickHouseClient.init(ClickHouseConfig)will be invoked for initialization.- Returns:
- suitable client to handle preferred protocols
- Throws:
IllegalStateException- when no suitable client found in classpath
-
config
public ClickHouseClientBuilder config(ClickHouseConfig config)
Sets configuration.- Parameters:
config- non-null configuration- Returns:
- this builder
-
option
public ClickHouseClientBuilder option(ClickHouseOption option, Serializable value)
Adds an option, which is usually an Enum type that implementsClickHouseOption.- Parameters:
option- non-null optionvalue- value- Returns:
- this builder
-
removeOption
public ClickHouseClientBuilder removeOption(ClickHouseOption option)
Removes an option.- Parameters:
option- non-null option- Returns:
- this builder
-
options
public ClickHouseClientBuilder options(Map<ClickHouseOption,Serializable> options)
Sets options.- Parameters:
options- map containing all options- Returns:
- this builder
-
defaultCredentials
public ClickHouseClientBuilder defaultCredentials(ClickHouseCredentials credentials)
Sets default credentials, which will be used to connect to aClickHouseNodeonly when it has no credentials defined.- Parameters:
credentials- default credentials- Returns:
- this builder
-
nodeSelector
public ClickHouseClientBuilder nodeSelector(ClickHouseNodeSelector nodeSelector)
Sets node selector.- Parameters:
nodeSelector- non-null node selector- Returns:
- this builder
-
metricRegistry
public ClickHouseClientBuilder metricRegistry(Object metricRegistry)
Sets metric registry.- Parameters:
metricRegistry- metric registry, could be null- Returns:
- this builder
-
-