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,Object> sessionVariables)
Set session variable- Parameters:
sessionVariables- map containing session variables- Returns:
- this
MariadbConnectionConfiguration.Builder
-
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
-
collation
public MariadbConnectionConfiguration.Builder collation(@Nullable String collation)
Configure the utf8mb4 collation.- Parameters:
collation- default utf8mb4 collation if not using server default collation- Returns:
- this
MariadbConnectionConfiguration.Builder
-
timezone
public MariadbConnectionConfiguration.Builder timezone(@Nullable String timezone)
Configure the timezone. The option `timezone` can have 3 types of value:- 'disabled' (default) : connector doesn't change time_zone
- 'auto': client will use client default timezone
- 'a timezone': connector will set connection variable to value
- Parameters:
timezone- 'disabled'/'auto'/'a timezone' value- 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
-
permitRedirect
public MariadbConnectionConfiguration.Builder permitRedirect(boolean permitRedirect)
Permit to indicate if redirection are allowed. Default value True.- Parameters:
permitRedirect- use permitRedirect- Returns:
- this
MariadbConnectionConfiguration.Builder
-
skipPostCommands
public MariadbConnectionConfiguration.Builder skipPostCommands(boolean skipPostCommands)
Permit to indicate that commands after connections must be skipped. This permit to avoid unnecessary command on connection creation, and when using RDV proxy not to have session pinningUse with care, because connector expects server to have :
- connection exchanges to be UT8(mb3/mb4)
- autocommit set to true
- transaction isolation defaulting to REPEATABLE-READ
- Parameters:
skipPostCommands- skip post commands- 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)
-
sslTunnelDisableHostVerification
public MariadbConnectionConfiguration.Builder sslTunnelDisableHostVerification(boolean sslTunnelDisableHostVerification)
-
clone
public MariadbConnectionConfiguration.Builder clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
-