Package org.mariadb.r2dbc
Class MariadbConnectionConfiguration.Builder
- java.lang.Object
-
- org.mariadb.r2dbc.MariadbConnectionConfiguration.Builder
-
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- MariadbConnectionConfiguration
public static final class MariadbConnectionConfiguration.Builder extends Object implements Cloneable
A builder forMariadbConnectionConfigurationinstances.This class is not threadsafe
-
-
Method Summary
-
-
-
Method Detail
-
build
public MariadbConnectionConfiguration build()
Returns a configuredMariadbConnectionConfiguration.- Returns:
- a configured
MariadbConnectionConfiguration
-
connectTimeout
public MariadbConnectionConfiguration.Builder connectTimeout(@Nullable Duration connectTimeout)
Configures the connection timeout. Default unconfigured.- Parameters:
connectTimeout- the connection timeout- Returns:
- this
MariadbConnectionConfiguration.Builder
-
haMode
public MariadbConnectionConfiguration.Builder haMode(@Nullable String haMode)
-
hostAddresses
public MariadbConnectionConfiguration.Builder hostAddresses(@Nullable List<HostAddress> hostAddresses)
-
restrictedAuth
public MariadbConnectionConfiguration.Builder restrictedAuth(@Nullable String restrictedAuth)
-
tcpKeepAlive
public MariadbConnectionConfiguration.Builder tcpKeepAlive(@Nullable Boolean tcpKeepAlive)
-
tcpAbortiveClose
public MariadbConnectionConfiguration.Builder tcpAbortiveClose(@Nullable Boolean tcpAbortiveClose)
-
transactionReplay
public MariadbConnectionConfiguration.Builder transactionReplay(@Nullable Boolean transactionReplay)
-
connectionAttributes
public MariadbConnectionConfiguration.Builder connectionAttributes(@Nullable Map<String,String> connectionAttributes)
-
sessionVariables
public MariadbConnectionConfiguration.Builder sessionVariables(@Nullable Map<String,String> sessionVariables)
-
pamOtherPwd
public MariadbConnectionConfiguration.Builder pamOtherPwd(@Nullable CharSequence[] pamOtherPwd)
-
database
public MariadbConnectionConfiguration.Builder database(@Nullable String database)
Configure the database.- Parameters:
database- the database- Returns:
- this
MariadbConnectionConfiguration.Builder
-
host
public MariadbConnectionConfiguration.Builder host(String host)
Configure the host.- Parameters:
host- the host- Returns:
- this
MariadbConnectionConfiguration.Builder - Throws:
IllegalArgumentException- ifhostisnull
-
password
public MariadbConnectionConfiguration.Builder password(@Nullable CharSequence password)
Configure the password.- Parameters:
password- the password- Returns:
- this
MariadbConnectionConfiguration.Builder
-
tlsProtocol
public MariadbConnectionConfiguration.Builder tlsProtocol(String... tlsProtocol)
Set protocol to a specific set of TLS version- Parameters:
tlsProtocol- Strings listing possible protocol, like "TLSv1.2"- Returns:
- this
MariadbConnectionConfiguration.Builder
-
serverSslCert
public MariadbConnectionConfiguration.Builder serverSslCert(String serverSslCert)
Permits providing server's certificate in DER form, or server's CA certificate. The server will be added to trustStore. This permits a self-signed certificate to be trusted.Can be used in one of 3 forms :
- serverSslCert=/path/to/cert.pem (full path to certificate)
- serverSslCert=classpath:relative/cert.pem (relative to current classpath)
- or as verbatim DER-encoded certificate string \"------BEGIN CERTIFICATE-----\" .".
- Parameters:
serverSslCert- certificate- Returns:
- this
MariadbConnectionConfiguration.Builder
-
prepareCacheSize
public MariadbConnectionConfiguration.Builder prepareCacheSize(Integer prepareCacheSize)
Prepare result cache size.- 0 = no cache
- null = use default size
- other indicate cache size
- Parameters:
prepareCacheSize- prepare cache size- Returns:
- this
MariadbConnectionConfiguration.Builder
-
clientSslCert
public MariadbConnectionConfiguration.Builder clientSslCert(String clientSslCert)
Permits providing client's certificate for mutual authenticationCan be used in one of 3 forms :
- clientSslCert=/path/to/cert.pem (full path to certificate)
- clientSslCert=classpath:relative/cert.pem (relative to current classpath)
- or as verbatim DER-encoded certificate string \"------BEGIN CERTIFICATE-----\" .".
- Parameters:
clientSslCert- certificate- Returns:
- this
MariadbConnectionConfiguration.Builder
-
clientSslKey
public MariadbConnectionConfiguration.Builder clientSslKey(String clientSslKey)
Client private key (PKCS#8 private key file in PEM format)- Parameters:
clientSslKey- Client Private key path.- Returns:
- this
MariadbConnectionConfiguration.Builder
-
clientSslPassword
public MariadbConnectionConfiguration.Builder clientSslPassword(CharSequence clientSslPassword)
Client private key password if any. null if no password.- Parameters:
clientSslPassword- client private key password- Returns:
- this
MariadbConnectionConfiguration.Builder
-
sslMode
public MariadbConnectionConfiguration.Builder sslMode(SslMode sslMode)
-
rsaPublicKey
public MariadbConnectionConfiguration.Builder rsaPublicKey(String rsaPublicKey)
Indicate path to MySQL server RSA public key- Parameters:
rsaPublicKey- path- Returns:
- this
MariadbConnectionConfiguration.Builder
-
cachingRsaPublicKey
public MariadbConnectionConfiguration.Builder cachingRsaPublicKey(String cachingRsaPublicKey)
Indicate path to MySQL server caching RSA public key- Parameters:
cachingRsaPublicKey- path- Returns:
- this
MariadbConnectionConfiguration.Builder
-
allowPublicKeyRetrieval
public MariadbConnectionConfiguration.Builder allowPublicKeyRetrieval(boolean allowPublicKeyRetrieval)
Permit to get MySQL server key retrieval.- Parameters:
allowPublicKeyRetrieval- indicate if permit- Returns:
- this
MariadbConnectionConfiguration.Builder
-
useServerPrepStmts
public MariadbConnectionConfiguration.Builder useServerPrepStmts(boolean useServerPrepStmts)
Permit to indicate to use text or binary protocol.- Parameters:
useServerPrepStmts- use server param- Returns:
- this
MariadbConnectionConfiguration.Builder
-
isolationLevel
public MariadbConnectionConfiguration.Builder isolationLevel(io.r2dbc.spi.IsolationLevel isolationLevel)
Permit to set default isolation level- Parameters:
isolationLevel- transaction isolation level- Returns:
- this
MariadbConnectionConfiguration.Builder
-
autocommit
public MariadbConnectionConfiguration.Builder autocommit(boolean autocommit)
Permit to indicate default autocommit value. Default value True.- Parameters:
autocommit- use autocommit- Returns:
- this
MariadbConnectionConfiguration.Builder
-
tinyInt1isBit
public MariadbConnectionConfiguration.Builder tinyInt1isBit(boolean tinyInt1isBit)
Permit to indicate how BIT(1) must return as boolean or byte . Default value True (returns boolean).- Parameters:
tinyInt1isBit- return boolean for BIT(1)- Returns:
- this
MariadbConnectionConfiguration.Builder
-
allowPipelining
public MariadbConnectionConfiguration.Builder allowPipelining(boolean allowPipelining)
Permit pipelining (sending request before resolution of previous one).- Parameters:
allowPipelining- indicate if pipelining is permit- Returns:
- this
MariadbConnectionConfiguration.Builder
-
port
public MariadbConnectionConfiguration.Builder port(int port)
Configure the port. Defaults to3306.- Parameters:
port- the port- Returns:
- this
MariadbConnectionConfiguration.Builder
-
allowMultiQueries
public MariadbConnectionConfiguration.Builder allowMultiQueries(boolean allowMultiQueries)
Configure if multi-queries are allowed. Defaults tofalse.- Parameters:
allowMultiQueries- are multi-queries allowed- Returns:
- this
MariadbConnectionConfiguration.Builder
-
socket
public MariadbConnectionConfiguration.Builder socket(String socket)
Configure the unix domain socket to connect to.- Parameters:
socket- the socket path- Returns:
- this
MariadbConnectionConfiguration.Builder - Throws:
IllegalArgumentException- ifsocketisnull
-
username
public MariadbConnectionConfiguration.Builder username(String username)
-
loopResources
public MariadbConnectionConfiguration.Builder loopResources(reactor.netty.resources.LoopResources loopResources)
-
sslContextBuilderCustomizer
public MariadbConnectionConfiguration.Builder sslContextBuilderCustomizer(UnaryOperator<io.netty.handler.ssl.SslContextBuilder> sslContextBuilderCustomizer)
-
clone
public MariadbConnectionConfiguration.Builder clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
-