Package org.mariadb.jdbc
Class Configuration.Builder
- java.lang.Object
-
- org.mariadb.jdbc.Configuration.Builder
-
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- Configuration
public static final class Configuration.Builder extends Object implements Cloneable
A builder forConfigurationinstances.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configuration.BuilderaddHost(String host, int port)Configuration.BuilderaddHost(String host, int port, boolean master)Configuration.Builderaddresses(HostAddress... hostAddress)Configuration.BuilderallowLocalInfile(Boolean allowLocalInfile)Indicate if LOAD DATA LOCAL INFILE are permitted.Configuration.BuilderallowMultiQueries(Boolean allowMultiQueries)Indicate that multi-queries are allowed.Configuration.BuilderallowPublicKeyRetrieval(Boolean allowPublicKeyRetrieval)Configuration.Builderautocommit(Boolean autocommit)Configuration.BuilderblankTableNameMeta(Boolean blankTableNameMeta)Configurationbuild()Configuration.BuildercachePrepStmts(Boolean cachePrepStmts)Configuration.BuilderconnectionAttributes(String connectionAttributes)Configuration.BuilderconnectTimeout(Integer connectTimeout)Indicate connect timeout value, in milliseconds, or zero for no timeout.Configuration.BuildercredentialType(String credentialType)Configuration.Builderdatabase(String database)Configuration.BuilderdefaultFetchSize(Integer defaultFetchSize)Configuration.BuilderdumpQueriesOnException(Boolean dumpQueriesOnException)Configuration.BuilderenabledSslCipherSuites(String enabledSslCipherSuites)Configuration.BuilderenabledSslProtocolSuites(String enabledSslProtocolSuites)Configuration.BuildergaleraAllowedState(String galeraAllowedState)Configuration.BuildergeometryDefaultType(String geometryDefault)Indicate what default Object type Geometry a resultset.getObject must return.Configuration.BuilderhaMode(HaMode haMode)Configuration.BuilderincludeInnodbStatusInDeadlockExceptions(Boolean includeInnodbStatusInDeadlockExceptions)Configuration.BuilderincludeThreadDumpInDeadlockExceptions(Boolean includeThreadDumpInDeadlockExceptions)Configuration.BuilderkeyStore(String keyStore)File path of the keyStore file that contain client private key store and associate certificates (similar to java System property \"javax.net.ssl.keyStore\", but ensure that only the private key's entries are used)Configuration.BuilderkeyStorePassword(String keyStorePassword)Client keystore passwordConfiguration.BuilderkeyStoreType(String keyStoreType)Configuration.BuilderlocalSocket(String localSocket)Indicate to use Unix domain socket, if the server allows it, specifying named pipe name to connect The value is the path of Unix domain socket (available with "select @@socket" command).Configuration.BuilderlocalSocketAddress(String localSocketAddress)Indicate Hostname or IP address to bind the connection socket to a local (UNIX domain) socket.Configuration.BuildermaxIdleTime(Integer maxIdleTime)Configuration.BuildermaxPoolSize(Integer maxPoolSize)Configuration.BuildermaxQuerySizeToLog(Integer maxQuerySizeToLog)Configuration.BuilderminPoolSize(Integer minPoolSize)Configuration.Builderpassword(String password)Configuration.Builderpipe(String pipe)Indicate to use windows named pipe, specify named pipe name to connectConfiguration.Builderpool(Boolean pool)Configuration.BuilderpoolName(String poolName)Configuration.BuilderpoolValidMinDelay(Integer poolValidMinDelay)Configuration.BuilderprepStmtCacheSize(Integer prepStmtCacheSize)Configuration.BuilderregisterJmxPool(Boolean registerJmxPool)Configuration.BuilderrestrictedAuth(String restrictedAuth)restrict authentication method to secure list.Configuration.BuilderretriesAllDown(Integer retriesAllDown)Configuration.BuilderserverRsaPublicKeyFile(String serverRsaPublicKeyFile)Configuration.BuilderserverSslCert(String serverSslCert)Configuration.BuilderservicePrincipalName(String servicePrincipalName)Configuration.BuildersessionVariables(String sessionVariables)Configuration.BuildersocketFactory(String socketFactory)Configuration.BuildersocketTimeout(Integer socketTimeout)Indicate the network socket timeout (SO_TIMEOUT) in milliseconds.Configuration.BuildersslMode(String sslMode)Configuration.BuildertcpAbortiveClose(Boolean tcpAbortiveClose)Indicate that when connection fails, to send an RST TCP packet.Configuration.BuildertcpKeepAlive(Boolean tcpKeepAlive)Indicate if TCP keep-alive must be enabled.Configuration.BuildertcpKeepCount(Integer tcpKeepCount)Indicate TCP keep-count value (for java 11+ only).Configuration.BuildertcpKeepIdle(Integer tcpKeepIdle)Indicate TCP keep-idle value (for java 11+ only).Configuration.BuildertcpKeepInterval(Integer tcpKeepInterval)Indicate TCP keep-interval value (for java 11+ only).Configuration.Buildertimezone(String timezone)Configuration.BuildertinyInt1isBit(Boolean tinyInt1isBit)Configuration.BuildertlsSocketType(String tlsSocketType)Configuration.BuildertransactionIsolation(String transactionIsolation)Configuration.BuildertransactionReplay(Boolean transactionReplay)Configuration.BuilderuseAffectedRows(Boolean useAffectedRows)Configuration.BuilderuseBulkStmts(Boolean useBulkStmts)Configuration.BuilderuseCompression(Boolean useCompression)Indicate to compress exchanges with the database through gzip.Configuration.BuilderuseMysqlMetadata(Boolean useMysqlMetadata)Permit indicating to force DatabaseMetadata.getDatabaseProductName() to return `MySQL` as database type, not real database typeConfiguration.Builderuser(String user)Configuration.BuilderuseReadAheadInput(Boolean useReadAheadInput)Configuration.BuilderuseResetConnection(Boolean useResetConnection)Configuration.BuilderuseServerPrepStmts(Boolean useServerPrepStmts)Configuration.BuilderyearIsDateType(Boolean yearIsDateType)
-
-
-
Method Detail
-
user
public Configuration.Builder user(String user)
-
serverSslCert
public Configuration.Builder serverSslCert(String serverSslCert)
-
keyStore
public Configuration.Builder keyStore(String keyStore)
File path of the keyStore file that contain client private key store and associate certificates (similar to java System property \"javax.net.ssl.keyStore\", but ensure that only the private key's entries are used)- Parameters:
keyStore- client store certificates- Returns:
- this
Configuration.Builder
-
keyStorePassword
public Configuration.Builder keyStorePassword(String keyStorePassword)
Client keystore password- Parameters:
keyStorePassword- client store password- Returns:
- this
Configuration.Builder
-
keyStoreType
public Configuration.Builder keyStoreType(String keyStoreType)
-
password
public Configuration.Builder password(String password)
-
enabledSslProtocolSuites
public Configuration.Builder enabledSslProtocolSuites(String enabledSslProtocolSuites)
-
database
public Configuration.Builder database(String database)
-
haMode
public Configuration.Builder haMode(HaMode haMode)
-
addHost
public Configuration.Builder addHost(String host, int port)
-
addHost
public Configuration.Builder addHost(String host, int port, boolean master)
-
addresses
public Configuration.Builder addresses(HostAddress... hostAddress)
-
socketFactory
public Configuration.Builder socketFactory(String socketFactory)
-
connectTimeout
public Configuration.Builder connectTimeout(Integer connectTimeout)
Indicate connect timeout value, in milliseconds, or zero for no timeout. Default: 30000- Parameters:
connectTimeout- connect Timeout- Returns:
- this
Configuration.Builder
-
pipe
public Configuration.Builder pipe(String pipe)
Indicate to use windows named pipe, specify named pipe name to connect- Parameters:
pipe- windows named pipe- Returns:
- this
Configuration.Builder
-
localSocket
public Configuration.Builder localSocket(String localSocket)
Indicate to use Unix domain socket, if the server allows it, specifying named pipe name to connect The value is the path of Unix domain socket (available with "select @@socket" command).- Parameters:
localSocket- local socket path- Returns:
- this
Configuration.Builder
-
tcpKeepAlive
public Configuration.Builder tcpKeepAlive(Boolean tcpKeepAlive)
Indicate if TCP keep-alive must be enabled.- Parameters:
tcpKeepAlive- value- Returns:
- this
Configuration.Builder
-
tcpKeepIdle
public Configuration.Builder tcpKeepIdle(Integer tcpKeepIdle)
Indicate TCP keep-idle value (for java 11+ only).- Parameters:
tcpKeepIdle- value- Returns:
- this
Configuration.Builder
-
tcpKeepCount
public Configuration.Builder tcpKeepCount(Integer tcpKeepCount)
Indicate TCP keep-count value (for java 11+ only).- Parameters:
tcpKeepCount- value- Returns:
- this
Configuration.Builder
-
tcpKeepInterval
public Configuration.Builder tcpKeepInterval(Integer tcpKeepInterval)
Indicate TCP keep-interval value (for java 11+ only).- Parameters:
tcpKeepInterval- value- Returns:
- this
Configuration.Builder
-
tcpAbortiveClose
public Configuration.Builder tcpAbortiveClose(Boolean tcpAbortiveClose)
Indicate that when connection fails, to send an RST TCP packet.- Parameters:
tcpAbortiveClose- value- Returns:
- this
Configuration.Builder
-
geometryDefaultType
public Configuration.Builder geometryDefaultType(String geometryDefault)
Indicate what default Object type Geometry a resultset.getObject must return. possibility :- null or empty is WKB byte array
- 'default' will return org.mariadb.mariadb.jdbc.type Object
- Parameters:
geometryDefault- value- Returns:
- this
Configuration.Builder
-
restrictedAuth
public Configuration.Builder restrictedAuth(String restrictedAuth)
restrict authentication method to secure list. Default "default".- Parameters:
restrictedAuth- use authentication plugin list- Returns:
- this
Configuration.Builder
-
localSocketAddress
public Configuration.Builder localSocketAddress(String localSocketAddress)
Indicate Hostname or IP address to bind the connection socket to a local (UNIX domain) socket.- Parameters:
localSocketAddress- Hostname or IP address- Returns:
- this
Configuration.Builder
-
socketTimeout
public Configuration.Builder socketTimeout(Integer socketTimeout)
Indicate the network socket timeout (SO_TIMEOUT) in milliseconds. Value of 0 disables this timeout.If the goal is to set a timeout for all queries, the server has permitted a solution to limit the query time by setting a system variable, max_statement_time. Default: 0
- Parameters:
socketTimeout- socket timeout value- Returns:
- this
Configuration.Builder
-
allowMultiQueries
public Configuration.Builder allowMultiQueries(Boolean allowMultiQueries)
Indicate that multi-queries are allowed. example: "insert into ab (i) values (1); insert into ab (i) values (2)".If application build sql command string, this is probably a bad idea to enable this option, opening the door to sql injection. default: false.
- Parameters:
allowMultiQueries- indicate if active- Returns:
- this
Configuration.Builder
-
allowLocalInfile
public Configuration.Builder allowLocalInfile(Boolean allowLocalInfile)
Indicate if LOAD DATA LOCAL INFILE are permitted. This will disable all pipelining implementation.- Parameters:
allowLocalInfile- indicate if permit LOAD DATA LOCAL INFILE commands- Returns:
- this
Configuration.Builder
-
useCompression
public Configuration.Builder useCompression(Boolean useCompression)
Indicate to compress exchanges with the database through gzip. This permits better performance when the database is not in the same location.- Parameters:
useCompression- to enable/disable compression- Returns:
- this
Configuration.Builder
-
blankTableNameMeta
public Configuration.Builder blankTableNameMeta(Boolean blankTableNameMeta)
-
credentialType
public Configuration.Builder credentialType(String credentialType)
-
sslMode
public Configuration.Builder sslMode(String sslMode)
-
transactionIsolation
public Configuration.Builder transactionIsolation(String transactionIsolation)
-
enabledSslCipherSuites
public Configuration.Builder enabledSslCipherSuites(String enabledSslCipherSuites)
-
sessionVariables
public Configuration.Builder sessionVariables(String sessionVariables)
-
tinyInt1isBit
public Configuration.Builder tinyInt1isBit(Boolean tinyInt1isBit)
-
yearIsDateType
public Configuration.Builder yearIsDateType(Boolean yearIsDateType)
-
timezone
public Configuration.Builder timezone(String timezone)
-
dumpQueriesOnException
public Configuration.Builder dumpQueriesOnException(Boolean dumpQueriesOnException)
-
prepStmtCacheSize
public Configuration.Builder prepStmtCacheSize(Integer prepStmtCacheSize)
-
useAffectedRows
public Configuration.Builder useAffectedRows(Boolean useAffectedRows)
-
useServerPrepStmts
public Configuration.Builder useServerPrepStmts(Boolean useServerPrepStmts)
-
connectionAttributes
public Configuration.Builder connectionAttributes(String connectionAttributes)
-
useBulkStmts
public Configuration.Builder useBulkStmts(Boolean useBulkStmts)
-
autocommit
public Configuration.Builder autocommit(Boolean autocommit)
-
useMysqlMetadata
public Configuration.Builder useMysqlMetadata(Boolean useMysqlMetadata)
Permit indicating to force DatabaseMetadata.getDatabaseProductName() to return `MySQL` as database type, not real database type- Parameters:
useMysqlMetadata- force DatabaseMetadata.getDatabaseProductName() to return `MySQL`- Returns:
- this
Configuration.Builder
-
includeInnodbStatusInDeadlockExceptions
public Configuration.Builder includeInnodbStatusInDeadlockExceptions(Boolean includeInnodbStatusInDeadlockExceptions)
-
includeThreadDumpInDeadlockExceptions
public Configuration.Builder includeThreadDumpInDeadlockExceptions(Boolean includeThreadDumpInDeadlockExceptions)
-
servicePrincipalName
public Configuration.Builder servicePrincipalName(String servicePrincipalName)
-
defaultFetchSize
public Configuration.Builder defaultFetchSize(Integer defaultFetchSize)
-
tlsSocketType
public Configuration.Builder tlsSocketType(String tlsSocketType)
-
maxQuerySizeToLog
public Configuration.Builder maxQuerySizeToLog(Integer maxQuerySizeToLog)
-
retriesAllDown
public Configuration.Builder retriesAllDown(Integer retriesAllDown)
-
galeraAllowedState
public Configuration.Builder galeraAllowedState(String galeraAllowedState)
-
pool
public Configuration.Builder pool(Boolean pool)
-
poolName
public Configuration.Builder poolName(String poolName)
-
maxPoolSize
public Configuration.Builder maxPoolSize(Integer maxPoolSize)
-
minPoolSize
public Configuration.Builder minPoolSize(Integer minPoolSize)
-
maxIdleTime
public Configuration.Builder maxIdleTime(Integer maxIdleTime)
-
registerJmxPool
public Configuration.Builder registerJmxPool(Boolean registerJmxPool)
-
poolValidMinDelay
public Configuration.Builder poolValidMinDelay(Integer poolValidMinDelay)
-
useResetConnection
public Configuration.Builder useResetConnection(Boolean useResetConnection)
-
serverRsaPublicKeyFile
public Configuration.Builder serverRsaPublicKeyFile(String serverRsaPublicKeyFile)
-
allowPublicKeyRetrieval
public Configuration.Builder allowPublicKeyRetrieval(Boolean allowPublicKeyRetrieval)
-
useReadAheadInput
public Configuration.Builder useReadAheadInput(Boolean useReadAheadInput)
-
cachePrepStmts
public Configuration.Builder cachePrepStmts(Boolean cachePrepStmts)
-
transactionReplay
public Configuration.Builder transactionReplay(Boolean transactionReplay)
-
build
public Configuration build() throws SQLException
- Throws:
SQLException
-
-