Package org.mariadb.jdbc
Class Configuration.Builder
- java.lang.Object
-
- org.mariadb.jdbc.Configuration.Builder
-
- All Implemented Interfaces:
java.lang.Cloneable
- Enclosing class:
- Configuration
public static final class Configuration.Builder extends java.lang.Object implements java.lang.Cloneable
A builder forConfiguration
instances.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<HostAddress>
_addresses
private HaMode
_haMode
private java.util.Properties
_nonMappedOptions
private java.lang.Boolean
allowLocalInfile
private java.lang.Boolean
allowMultiQueries
private java.lang.Boolean
allowPublicKeyRetrieval
private java.lang.Boolean
autocommit
private java.lang.Boolean
blankTableNameMeta
private java.lang.Boolean
cachePrepStmts
private java.lang.String
connectionAttributes
private java.lang.Integer
connectTimeout
private java.lang.String
credentialType
private java.lang.String
database
private java.lang.Integer
defaultFetchSize
private java.lang.Boolean
dumpQueriesOnException
private java.lang.String
enabledSslCipherSuites
private java.lang.String
enabledSslProtocolSuites
private java.lang.String
galeraAllowedState
private java.lang.String
geometryDefaultType
private java.lang.Boolean
includeInnodbStatusInDeadlockExceptions
private java.lang.Boolean
includeThreadDumpInDeadlockExceptions
private java.lang.String
keyStore
private java.lang.String
keyStorePassword
private java.lang.String
keyStoreType
private java.lang.String
localSocket
private java.lang.String
localSocketAddress
private java.lang.Integer
maxIdleTime
private java.lang.Integer
maxPoolSize
private java.lang.Integer
maxQuerySizeToLog
private java.lang.Integer
minPoolSize
private java.lang.String
password
private java.lang.String
pipe
private java.lang.Boolean
pool
private java.lang.String
poolName
private java.lang.Integer
poolValidMinDelay
private java.lang.Integer
prepStmtCacheSize
private java.lang.Boolean
registerJmxPool
private java.lang.String
restrictedAuth
private java.lang.Integer
retriesAllDown
private java.lang.String
serverRsaPublicKeyFile
private java.lang.String
serverSslCert
private java.lang.String
servicePrincipalName
private java.lang.String
sessionVariables
private java.lang.String
socketFactory
private java.lang.Integer
socketTimeout
private java.lang.String
sslMode
private java.lang.Boolean
tcpAbortiveClose
private java.lang.Boolean
tcpKeepAlive
private java.lang.Integer
tcpKeepCount
private java.lang.Integer
tcpKeepIdle
private java.lang.Integer
tcpKeepInterval
private java.lang.String
timezone
private java.lang.Boolean
tinyInt1isBit
private java.lang.String
tlsSocketType
private java.lang.String
transactionIsolation
private java.lang.Boolean
transactionReplay
private java.lang.Boolean
useAffectedRows
private java.lang.Boolean
useBulkStmts
private java.lang.Boolean
useCompression
private java.lang.Boolean
useMysqlMetadata
private java.lang.String
user
private java.lang.Boolean
useReadAheadInput
private java.lang.Boolean
useResetConnection
private java.lang.Boolean
useServerPrepStmts
private java.lang.Boolean
yearIsDateType
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configuration.Builder
addHost(java.lang.String host, int port)
Configuration.Builder
addHost(java.lang.String host, int port, boolean master)
Configuration.Builder
addresses(HostAddress... hostAddress)
Configuration.Builder
allowLocalInfile(java.lang.Boolean allowLocalInfile)
Indicate if LOAD DATA LOCAL INFILE are permitted.Configuration.Builder
allowMultiQueries(java.lang.Boolean allowMultiQueries)
Indicate that multi-queries are allowed.Configuration.Builder
allowPublicKeyRetrieval(java.lang.Boolean allowPublicKeyRetrieval)
Configuration.Builder
autocommit(java.lang.Boolean autocommit)
Configuration.Builder
blankTableNameMeta(java.lang.Boolean blankTableNameMeta)
Configuration
build()
Configuration.Builder
cachePrepStmts(java.lang.Boolean cachePrepStmts)
Configuration.Builder
connectionAttributes(java.lang.String connectionAttributes)
Configuration.Builder
connectTimeout(java.lang.Integer connectTimeout)
Indicate connect timeout value, in milliseconds, or zero for no timeout.Configuration.Builder
credentialType(java.lang.String credentialType)
Configuration.Builder
database(java.lang.String database)
Configuration.Builder
defaultFetchSize(java.lang.Integer defaultFetchSize)
Configuration.Builder
dumpQueriesOnException(java.lang.Boolean dumpQueriesOnException)
Configuration.Builder
enabledSslCipherSuites(java.lang.String enabledSslCipherSuites)
Configuration.Builder
enabledSslProtocolSuites(java.lang.String enabledSslProtocolSuites)
Configuration.Builder
galeraAllowedState(java.lang.String galeraAllowedState)
Configuration.Builder
geometryDefaultType(java.lang.String geometryDefault)
Indicate what default Object type Geometry a resultset.getObject must return.Configuration.Builder
haMode(HaMode haMode)
Configuration.Builder
includeInnodbStatusInDeadlockExceptions(java.lang.Boolean includeInnodbStatusInDeadlockExceptions)
Configuration.Builder
includeThreadDumpInDeadlockExceptions(java.lang.Boolean includeThreadDumpInDeadlockExceptions)
Configuration.Builder
keyStore(java.lang.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.Builder
keyStorePassword(java.lang.String keyStorePassword)
Client keystore passwordConfiguration.Builder
keyStoreType(java.lang.String keyStoreType)
Configuration.Builder
localSocket(java.lang.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.Builder
localSocketAddress(java.lang.String localSocketAddress)
Indicate Hostname or IP address to bind the connection socket to a local (UNIX domain) socket.Configuration.Builder
maxIdleTime(java.lang.Integer maxIdleTime)
Configuration.Builder
maxPoolSize(java.lang.Integer maxPoolSize)
Configuration.Builder
maxQuerySizeToLog(java.lang.Integer maxQuerySizeToLog)
Configuration.Builder
minPoolSize(java.lang.Integer minPoolSize)
Configuration.Builder
password(java.lang.String password)
Configuration.Builder
pipe(java.lang.String pipe)
Indicate to use windows named pipe, specify named pipe name to connectConfiguration.Builder
pool(java.lang.Boolean pool)
Configuration.Builder
poolName(java.lang.String poolName)
Configuration.Builder
poolValidMinDelay(java.lang.Integer poolValidMinDelay)
Configuration.Builder
prepStmtCacheSize(java.lang.Integer prepStmtCacheSize)
Configuration.Builder
registerJmxPool(java.lang.Boolean registerJmxPool)
Configuration.Builder
restrictedAuth(java.lang.String restrictedAuth)
restrict authentication method to secure list.Configuration.Builder
retriesAllDown(java.lang.Integer retriesAllDown)
Configuration.Builder
serverRsaPublicKeyFile(java.lang.String serverRsaPublicKeyFile)
Configuration.Builder
serverSslCert(java.lang.String serverSslCert)
Configuration.Builder
servicePrincipalName(java.lang.String servicePrincipalName)
Configuration.Builder
sessionVariables(java.lang.String sessionVariables)
Configuration.Builder
socketFactory(java.lang.String socketFactory)
Configuration.Builder
socketTimeout(java.lang.Integer socketTimeout)
Indicate the network socket timeout (SO_TIMEOUT) in milliseconds.Configuration.Builder
sslMode(java.lang.String sslMode)
Configuration.Builder
tcpAbortiveClose(java.lang.Boolean tcpAbortiveClose)
Indicate that when connection fails, to send an RST TCP packet.Configuration.Builder
tcpKeepAlive(java.lang.Boolean tcpKeepAlive)
Indicate if TCP keep-alive must be enabled.Configuration.Builder
tcpKeepCount(java.lang.Integer tcpKeepCount)
Indicate TCP keep-count value (for java 11+ only).Configuration.Builder
tcpKeepIdle(java.lang.Integer tcpKeepIdle)
Indicate TCP keep-idle value (for java 11+ only).Configuration.Builder
tcpKeepInterval(java.lang.Integer tcpKeepInterval)
Indicate TCP keep-interval value (for java 11+ only).Configuration.Builder
timezone(java.lang.String timezone)
Configuration.Builder
tinyInt1isBit(java.lang.Boolean tinyInt1isBit)
Configuration.Builder
tlsSocketType(java.lang.String tlsSocketType)
Configuration.Builder
transactionIsolation(java.lang.String transactionIsolation)
Configuration.Builder
transactionReplay(java.lang.Boolean transactionReplay)
Configuration.Builder
useAffectedRows(java.lang.Boolean useAffectedRows)
Configuration.Builder
useBulkStmts(java.lang.Boolean useBulkStmts)
Configuration.Builder
useCompression(java.lang.Boolean useCompression)
Indicate to compress exchanges with the database through gzip.Configuration.Builder
useMysqlMetadata(java.lang.Boolean useMysqlMetadata)
Permit indicating to force DatabaseMetadata.getDatabaseProductName() to return `MySQL` as database type, not real database typeConfiguration.Builder
user(java.lang.String user)
Configuration.Builder
useReadAheadInput(java.lang.Boolean useReadAheadInput)
Configuration.Builder
useResetConnection(java.lang.Boolean useResetConnection)
Configuration.Builder
useServerPrepStmts(java.lang.Boolean useServerPrepStmts)
Configuration.Builder
yearIsDateType(java.lang.Boolean yearIsDateType)
-
-
-
Field Detail
-
_nonMappedOptions
private java.util.Properties _nonMappedOptions
-
_haMode
private HaMode _haMode
-
_addresses
private java.util.List<HostAddress> _addresses
-
user
private java.lang.String user
-
password
private java.lang.String password
-
database
private java.lang.String database
-
timezone
private java.lang.String timezone
-
autocommit
private java.lang.Boolean autocommit
-
useMysqlMetadata
private java.lang.Boolean useMysqlMetadata
-
defaultFetchSize
private java.lang.Integer defaultFetchSize
-
maxQuerySizeToLog
private java.lang.Integer maxQuerySizeToLog
-
geometryDefaultType
private java.lang.String geometryDefaultType
-
restrictedAuth
private java.lang.String restrictedAuth
-
transactionIsolation
private java.lang.String transactionIsolation
-
socketFactory
private java.lang.String socketFactory
-
connectTimeout
private java.lang.Integer connectTimeout
-
pipe
private java.lang.String pipe
-
localSocket
private java.lang.String localSocket
-
tcpKeepAlive
private java.lang.Boolean tcpKeepAlive
-
tcpKeepIdle
private java.lang.Integer tcpKeepIdle
-
tcpKeepCount
private java.lang.Integer tcpKeepCount
-
tcpKeepInterval
private java.lang.Integer tcpKeepInterval
-
tcpAbortiveClose
private java.lang.Boolean tcpAbortiveClose
-
localSocketAddress
private java.lang.String localSocketAddress
-
socketTimeout
private java.lang.Integer socketTimeout
-
useReadAheadInput
private java.lang.Boolean useReadAheadInput
-
tlsSocketType
private java.lang.String tlsSocketType
-
sslMode
private java.lang.String sslMode
-
serverSslCert
private java.lang.String serverSslCert
-
keyStore
private java.lang.String keyStore
-
keyStorePassword
private java.lang.String keyStorePassword
-
keyStoreType
private java.lang.String keyStoreType
-
enabledSslCipherSuites
private java.lang.String enabledSslCipherSuites
-
enabledSslProtocolSuites
private java.lang.String enabledSslProtocolSuites
-
allowMultiQueries
private java.lang.Boolean allowMultiQueries
-
allowLocalInfile
private java.lang.Boolean allowLocalInfile
-
useCompression
private java.lang.Boolean useCompression
-
useAffectedRows
private java.lang.Boolean useAffectedRows
-
useBulkStmts
private java.lang.Boolean useBulkStmts
-
cachePrepStmts
private java.lang.Boolean cachePrepStmts
-
prepStmtCacheSize
private java.lang.Integer prepStmtCacheSize
-
useServerPrepStmts
private java.lang.Boolean useServerPrepStmts
-
credentialType
private java.lang.String credentialType
-
sessionVariables
private java.lang.String sessionVariables
-
connectionAttributes
private java.lang.String connectionAttributes
-
servicePrincipalName
private java.lang.String servicePrincipalName
-
blankTableNameMeta
private java.lang.Boolean blankTableNameMeta
-
tinyInt1isBit
private java.lang.Boolean tinyInt1isBit
-
yearIsDateType
private java.lang.Boolean yearIsDateType
-
dumpQueriesOnException
private java.lang.Boolean dumpQueriesOnException
-
includeInnodbStatusInDeadlockExceptions
private java.lang.Boolean includeInnodbStatusInDeadlockExceptions
-
includeThreadDumpInDeadlockExceptions
private java.lang.Boolean includeThreadDumpInDeadlockExceptions
-
retriesAllDown
private java.lang.Integer retriesAllDown
-
galeraAllowedState
private java.lang.String galeraAllowedState
-
transactionReplay
private java.lang.Boolean transactionReplay
-
pool
private java.lang.Boolean pool
-
poolName
private java.lang.String poolName
-
maxPoolSize
private java.lang.Integer maxPoolSize
-
minPoolSize
private java.lang.Integer minPoolSize
-
maxIdleTime
private java.lang.Integer maxIdleTime
-
registerJmxPool
private java.lang.Boolean registerJmxPool
-
poolValidMinDelay
private java.lang.Integer poolValidMinDelay
-
useResetConnection
private java.lang.Boolean useResetConnection
-
serverRsaPublicKeyFile
private java.lang.String serverRsaPublicKeyFile
-
allowPublicKeyRetrieval
private java.lang.Boolean allowPublicKeyRetrieval
-
-
Method Detail
-
user
public Configuration.Builder user(java.lang.String user)
-
serverSslCert
public Configuration.Builder serverSslCert(java.lang.String serverSslCert)
-
keyStore
public Configuration.Builder keyStore(java.lang.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(java.lang.String keyStorePassword)
Client keystore password- Parameters:
keyStorePassword
- client store password- Returns:
- this
Configuration.Builder
-
keyStoreType
public Configuration.Builder keyStoreType(java.lang.String keyStoreType)
-
password
public Configuration.Builder password(java.lang.String password)
-
enabledSslProtocolSuites
public Configuration.Builder enabledSslProtocolSuites(java.lang.String enabledSslProtocolSuites)
-
database
public Configuration.Builder database(java.lang.String database)
-
haMode
public Configuration.Builder haMode(HaMode haMode)
-
addHost
public Configuration.Builder addHost(java.lang.String host, int port)
-
addHost
public Configuration.Builder addHost(java.lang.String host, int port, boolean master)
-
addresses
public Configuration.Builder addresses(HostAddress... hostAddress)
-
socketFactory
public Configuration.Builder socketFactory(java.lang.String socketFactory)
-
connectTimeout
public Configuration.Builder connectTimeout(java.lang.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(java.lang.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(java.lang.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(java.lang.Boolean tcpKeepAlive)
Indicate if TCP keep-alive must be enabled.- Parameters:
tcpKeepAlive
- value- Returns:
- this
Configuration.Builder
-
tcpKeepIdle
public Configuration.Builder tcpKeepIdle(java.lang.Integer tcpKeepIdle)
Indicate TCP keep-idle value (for java 11+ only).- Parameters:
tcpKeepIdle
- value- Returns:
- this
Configuration.Builder
-
tcpKeepCount
public Configuration.Builder tcpKeepCount(java.lang.Integer tcpKeepCount)
Indicate TCP keep-count value (for java 11+ only).- Parameters:
tcpKeepCount
- value- Returns:
- this
Configuration.Builder
-
tcpKeepInterval
public Configuration.Builder tcpKeepInterval(java.lang.Integer tcpKeepInterval)
Indicate TCP keep-interval value (for java 11+ only).- Parameters:
tcpKeepInterval
- value- Returns:
- this
Configuration.Builder
-
tcpAbortiveClose
public Configuration.Builder tcpAbortiveClose(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.Boolean blankTableNameMeta)
-
credentialType
public Configuration.Builder credentialType(java.lang.String credentialType)
-
sslMode
public Configuration.Builder sslMode(java.lang.String sslMode)
-
transactionIsolation
public Configuration.Builder transactionIsolation(java.lang.String transactionIsolation)
-
enabledSslCipherSuites
public Configuration.Builder enabledSslCipherSuites(java.lang.String enabledSslCipherSuites)
-
sessionVariables
public Configuration.Builder sessionVariables(java.lang.String sessionVariables)
-
tinyInt1isBit
public Configuration.Builder tinyInt1isBit(java.lang.Boolean tinyInt1isBit)
-
yearIsDateType
public Configuration.Builder yearIsDateType(java.lang.Boolean yearIsDateType)
-
timezone
public Configuration.Builder timezone(java.lang.String timezone)
-
dumpQueriesOnException
public Configuration.Builder dumpQueriesOnException(java.lang.Boolean dumpQueriesOnException)
-
prepStmtCacheSize
public Configuration.Builder prepStmtCacheSize(java.lang.Integer prepStmtCacheSize)
-
useAffectedRows
public Configuration.Builder useAffectedRows(java.lang.Boolean useAffectedRows)
-
useServerPrepStmts
public Configuration.Builder useServerPrepStmts(java.lang.Boolean useServerPrepStmts)
-
connectionAttributes
public Configuration.Builder connectionAttributes(java.lang.String connectionAttributes)
-
useBulkStmts
public Configuration.Builder useBulkStmts(java.lang.Boolean useBulkStmts)
-
autocommit
public Configuration.Builder autocommit(java.lang.Boolean autocommit)
-
useMysqlMetadata
public Configuration.Builder useMysqlMetadata(java.lang.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(java.lang.Boolean includeInnodbStatusInDeadlockExceptions)
-
includeThreadDumpInDeadlockExceptions
public Configuration.Builder includeThreadDumpInDeadlockExceptions(java.lang.Boolean includeThreadDumpInDeadlockExceptions)
-
servicePrincipalName
public Configuration.Builder servicePrincipalName(java.lang.String servicePrincipalName)
-
defaultFetchSize
public Configuration.Builder defaultFetchSize(java.lang.Integer defaultFetchSize)
-
tlsSocketType
public Configuration.Builder tlsSocketType(java.lang.String tlsSocketType)
-
maxQuerySizeToLog
public Configuration.Builder maxQuerySizeToLog(java.lang.Integer maxQuerySizeToLog)
-
retriesAllDown
public Configuration.Builder retriesAllDown(java.lang.Integer retriesAllDown)
-
galeraAllowedState
public Configuration.Builder galeraAllowedState(java.lang.String galeraAllowedState)
-
pool
public Configuration.Builder pool(java.lang.Boolean pool)
-
poolName
public Configuration.Builder poolName(java.lang.String poolName)
-
maxPoolSize
public Configuration.Builder maxPoolSize(java.lang.Integer maxPoolSize)
-
minPoolSize
public Configuration.Builder minPoolSize(java.lang.Integer minPoolSize)
-
maxIdleTime
public Configuration.Builder maxIdleTime(java.lang.Integer maxIdleTime)
-
registerJmxPool
public Configuration.Builder registerJmxPool(java.lang.Boolean registerJmxPool)
-
poolValidMinDelay
public Configuration.Builder poolValidMinDelay(java.lang.Integer poolValidMinDelay)
-
useResetConnection
public Configuration.Builder useResetConnection(java.lang.Boolean useResetConnection)
-
serverRsaPublicKeyFile
public Configuration.Builder serverRsaPublicKeyFile(java.lang.String serverRsaPublicKeyFile)
-
allowPublicKeyRetrieval
public Configuration.Builder allowPublicKeyRetrieval(java.lang.Boolean allowPublicKeyRetrieval)
-
useReadAheadInput
public Configuration.Builder useReadAheadInput(java.lang.Boolean useReadAheadInput)
-
cachePrepStmts
public Configuration.Builder cachePrepStmts(java.lang.Boolean cachePrepStmts)
-
transactionReplay
public Configuration.Builder transactionReplay(java.lang.Boolean transactionReplay)
-
build
public Configuration build() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
-