io.vertx.mysqlclient

## Class MySQLConnectOptions

- java.lang.Object
- - io.vertx.core.net.NetworkOptions
  - - io.vertx.core.net.TCPSSLOptions
    - - io.vertx.core.net.ClientOptionsBase
      - - io.vertx.core.net.NetClientOptions
        - - io.vertx.sqlclient.SqlConnectOptions
          - - io.vertx.mysqlclient.MySQLConnectOptions

-     public class MySQLConnectOptions
      extends SqlConnectOptions

  Connect options for configuring `MySQLConnection` or `MySQLPool`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_CHARACTER_ENCODING`
    `static String` | `DEFAULT_CHARSET`
    `static Map<String,String>` | `DEFAULT_CONNECTION_ATTRIBUTES`
    `static String` | `DEFAULT_HOST`
    `static String` | `DEFAULT_PASSWORD`
    `static int` | `DEFAULT_PIPELINING_LIMIT`
    `static int` | `DEFAULT_PORT`
    `static String` | `DEFAULT_SCHEMA`
    `static SslMode` | `DEFAULT_SSL_MODE`
    `static boolean` | `DEFAULT_USE_AFFECTED_ROWS`
    `static String` | `DEFAULT_USER`

    - ### Fields inherited from class io.vertx.sqlclient.SqlConnectOptions

      `DEFAULT_CACHE_PREPARED_STATEMENTS, DEFAULT_PREPARED_STATEMENT_CACHE_FILTER, DEFAULT_PREPARED_STATEMENT_CACHE_MAX_SIZE, DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT`

    - ### Fields inherited from class io.vertx.core.net.NetClientOptions

      `DEFAULT_HOSTNAME_VERIFICATION_ALGORITHM, DEFAULT_RECONNECT_ATTEMPTS, DEFAULT_RECONNECT_INTERVAL`

    - ### Fields inherited from class io.vertx.core.net.ClientOptionsBase

      `DEFAULT_CONNECT_TIMEOUT, DEFAULT_METRICS_NAME, DEFAULT_TRUST_ALL`

    - ### Fields inherited from class io.vertx.core.net.TCPSSLOptions

      `DEFAULT_ENABLED_SECURE_TRANSPORT_PROTOCOLS, DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_SSL_HANDSHAKE_TIMEOUT, DEFAULT_SSL_HANDSHAKE_TIMEOUT_TIME_UNIT, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_USE_ALPN, DEFAULT_WRITE_IDLE_TIMEOUT`

    - ### Fields inherited from class io.vertx.core.net.NetworkOptions

      `DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MySQLConnectOptions()`
    `MySQLConnectOptions(JsonObject json)`
    `MySQLConnectOptions(MySQLConnectOptions other)`
    `MySQLConnectOptions(SqlConnectOptions other)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MySQLConnectOptions` | `addCrlPath(String crlPath)` Add a CRL path
    `MySQLConnectOptions` | `addCrlValue(Buffer crlValue)` Add a CRL value
    `MySQLConnectOptions` | `addEnabledCipherSuite(String suite)` Add an enabled cipher suite, appended to the ordered suites.
    `MySQLConnectOptions` | `addEnabledSecureTransportProtocol(String protocol)` Add an enabled SSL/TLS protocols, appended to the ordered protocols.
    `MySQLConnectOptions` | `addProperty(String key, String value)` Add a property for this client, which will be sent to server at the connection start.
    `static MySQLConnectOptions` | `fromUri(String connectionUri)` Provide a `MySQLConnectOptions` configured from a connection URI.
    `MySQLAuthenticationPlugin` | `getAuthenticationPlugin()` Get the default authentication plugin for connecting the server.
    `String` | `getCharacterEncoding()` Get the Java charset for encoding string values.
    `String` | `getCharset()` Get the charset for the connection.
    `String` | `getCollation()` Get the collation for the connection.
    `int` | `getPipeliningLimit()` Get the pipelining limit count.
    `String` | `getServerRsaPublicKeyPath()` Get the path of the server RSA public key.
    `Buffer` | `getServerRsaPublicKeyValue()` Get the value of the server RSA public key.
    `SocketAddress` | `getSocketAddress()`
    `SslMode` | `getSslMode()` Get the value of the configured SSL mode.
    `protected void` | `init()` Initialize with the default options.
    `boolean` | `isUseAffectedRows()` Get how affected rows are calculated on update/delete/insert.
    `boolean` | `isUsingDomainSocket()`
    `MySQLConnectOptions` | `merge(JsonObject other)` Returns new options created after this object and merged with the `other` json config.
    `MySQLConnectOptions` | `removeEnabledSecureTransportProtocol(String protocol)` Removes an enabled SSL/TLS protocol from the ordered protocols.
    `MySQLConnectOptions` | `setAuthenticationPlugin(MySQLAuthenticationPlugin authenticationPlugin)` Set the default `authentication plguin` for the client, the option will take effect at the connection start.
    `MySQLConnectOptions` | `setCachePreparedStatements(boolean cachePreparedStatements)` Set whether prepared statements cache should be enabled.
    `MySQLConnectOptions` | `setCharacterEncoding(String characterEncoding)` Set the Java charset for encoding string values, this value is UTF-8 by default.
    `MySQLConnectOptions` | `setCharset(String charset)` Set the charset for the connection.
    `MySQLConnectOptions` | `setCollation(String collation)` Set the collation for the connection.
    `MySQLConnectOptions` | `setConnectTimeout(int connectTimeout)` Set the connect timeout
    `MySQLConnectOptions` | `setDatabase(String database)` Specify the default database for the connection.
    `MySQLConnectOptions` | `setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)` Sets the list of enabled SSL/TLS protocols.
    `MySQLConnectOptions` | `setHost(String host)` Specify the host for connecting to the server.
    `MySQLConnectOptions` | `setHostnameVerificationAlgorithm(String hostnameVerificationAlgorithm)` Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
    `MySQLConnectOptions` | `setIdleTimeout(int idleTimeout)` Set the idle timeout, default time unit is seconds.
    `MySQLConnectOptions` | `setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)` Set the idle timeout unit.
    `MySQLConnectOptions` | `setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)`
    `MySQLConnectOptions` | `setKeyCertOptions(KeyCertOptions options)` Set the key/cert options.
    `MySQLConnectOptions` | `setKeyStoreOptions(JksOptions options)` Set the key/cert options in jks format, aka Java keystore.
    `MySQLConnectOptions` | `setLocalAddress(String localAddress)` Set the local interface to bind for network connections.
    `MySQLConnectOptions` | `setLogActivity(boolean logEnabled)` Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
    `MySQLConnectOptions` | `setMetricsName(String metricsName)` Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
    `ClientOptionsBase` | `setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)`
    `MySQLConnectOptions` | `setPassword(String password)` Specify the user password to be used for the authentication.
    `MySQLConnectOptions` | `setPemKeyCertOptions(PemKeyCertOptions options)` Set the key/cert store options in pem format.
    `MySQLConnectOptions` | `setPemTrustOptions(PemTrustOptions options)` Set the trust options in pem format
    `MySQLConnectOptions` | `setPfxKeyCertOptions(PfxOptions options)` Set the key/cert options in pfx format.
    `MySQLConnectOptions` | `setPfxTrustOptions(PfxOptions options)` Set the trust options in pfx format
    `MySQLConnectOptions` | `setPipeliningLimit(int pipeliningLimit)` Set the pipelining limit count.
    `MySQLConnectOptions` | `setPort(int port)` Specify the port for connecting to the server.
    `MySQLConnectOptions` | `setPreparedStatementCacheMaxSize(int preparedStatementCacheMaxSize)` Set the maximum number of prepared statements that the connection will cache.
    `MySQLConnectOptions` | `setPreparedStatementCacheSqlFilter(java.util.function.Predicate<String> predicate)` Set a predicate filtering prepared statements that the connection will cache.
    `MySQLConnectOptions` | `setPreparedStatementCacheSqlLimit(int preparedStatementCacheSqlLimit)` Set the maximum length of prepared statement SQL string that the connection will cache.
    `MySQLConnectOptions` | `setProperties(Map<String,String> properties)` Set properties for this client, which will be sent to server at the connection start.
    `MySQLConnectOptions` | `setProxyOptions(ProxyOptions proxyOptions)` Set proxy options for connections via CONNECT proxy (e.g.
    `MySQLConnectOptions` | `setReceiveBufferSize(int receiveBufferSize)` Set the TCP receive buffer size
    `MySQLConnectOptions` | `setReconnectAttempts(int attempts)` Set the value of reconnect attempts
    `MySQLConnectOptions` | `setReconnectInterval(long interval)` Set the reconnect interval
    `MySQLConnectOptions` | `setReuseAddress(boolean reuseAddress)` Set the value of reuse address
    `MySQLConnectOptions` | `setReusePort(boolean reusePort)` Set the value of reuse port.
    `MySQLConnectOptions` | `setSendBufferSize(int sendBufferSize)` Set the TCP send buffer size
    `MySQLConnectOptions` | `setServerRsaPublicKeyPath(String serverRsaPublicKeyPath)` Set the path of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
    `MySQLConnectOptions` | `setServerRsaPublicKeyValue(Buffer serverRsaPublicKeyValue)` Set the value of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
    `MySQLConnectOptions` | `setSoLinger(int soLinger)` Set whether SO_linger keep alive is enabled
    `MySQLConnectOptions` | `setSsl(boolean ssl)` Set whether SSL/TLS is enabled
    `MySQLConnectOptions` | `setSslEngineOptions(SSLEngineOptions sslEngineOptions)` Set to use SSL engine implementation to use.
    `MySQLConnectOptions` | `setSslHandshakeTimeout(long sslHandshakeTimeout)` Set the SSL handshake timeout, default time unit is seconds.
    `MySQLConnectOptions` | `setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)` Set the SSL handshake timeout unit.
    `MySQLConnectOptions` | `setSslMode(SslMode sslMode)` Set the `SslMode` for the client, this option can be used to specify the desired security state of the connection to the server.
    `MySQLConnectOptions` | `setTcpCork(boolean tcpCork)` Enable the `TCP_CORK` option - only with linux native transport.
    `MySQLConnectOptions` | `setTcpFastOpen(boolean tcpFastOpen)` Enable the `TCP_FASTOPEN` option - only with linux native transport.
    `MySQLConnectOptions` | `setTcpKeepAlive(boolean tcpKeepAlive)` Set whether TCP keep alive is enabled
    `MySQLConnectOptions` | `setTcpNoDelay(boolean tcpNoDelay)` Set whether TCP no delay is enabled
    `MySQLConnectOptions` | `setTcpQuickAck(boolean tcpQuickAck)` Enable the `TCP_QUICKACK` option - only with linux native transport.
    `MySQLConnectOptions` | `setTracingPolicy(TracingPolicy tracingPolicy)` Set the tracing policy for the client behavior when Vert.x has tracing enabled.
    `MySQLConnectOptions` | `setTrafficClass(int trafficClass)` Set the value of traffic class
    `MySQLConnectOptions` | `setTrustAll(boolean trustAll)` Set whether all server certificates should be trusted
    `MySQLConnectOptions` | `setTrustOptions(TrustOptions options)` Set the trust options.
    `MySQLConnectOptions` | `setTrustStoreOptions(JksOptions options)` Set the trust options in jks format, aka Java truststore
    `MySQLConnectOptions` | `setUseAffectedRows(boolean useAffectedRows)` Sets how affected rows are calculated on update/delete/insert, if set to `true` an update that effectively does not change any data returns zero affected rows.
    `MySQLConnectOptions` | `setUseAlpn(boolean useAlpn)` Set the ALPN usage.
    `MySQLConnectOptions` | `setUser(String user)` Specify the user account to be used for the authentication.
    `JsonObject` | `toJson()` Convert to JSON
    `static MySQLConnectOptions` | `wrap(SqlConnectOptions options)`

    - ### Methods inherited from class io.vertx.sqlclient.SqlConnectOptions

      `getCachePreparedStatements, getDatabase, getHost, getPassword, getPort, getPreparedStatementCacheMaxSize, getPreparedStatementCacheSqlFilter, getProperties, getTracingPolicy, getUser`

    - ### Methods inherited from class io.vertx.core.net.NetClientOptions

      `addNonProxyHost, getApplicationLayerProtocols, getHostnameVerificationAlgorithm, getReconnectAttempts, getReconnectInterval, setActivityLogDataFormat, setApplicationLayerProtocols, setNonProxyHosts, setReadIdleTimeout, setWriteIdleTimeout`

    - ### Methods inherited from class io.vertx.core.net.ClientOptionsBase

      `getConnectTimeout, getLocalAddress, getMetricsName, getNonProxyHosts, getProxyOptions, isTrustAll`

    - ### Methods inherited from class io.vertx.core.net.TCPSSLOptions

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getJdkSslEngineOptions, getKeyCertOptions, getKeyStoreOptions, getOpenSslEngineOptions, getPemKeyCertOptions, getPemTrustOptions, getPfxKeyCertOptions, getPfxTrustOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTrustOptions, getTrustStoreOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn`

    - ### Methods inherited from class io.vertx.core.net.NetworkOptions

      `getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_HOST

          public static final String DEFAULT_HOST

      See Also:
        Constant Field Values

    - #### DEFAULT_PORT

          public static final int DEFAULT_PORT

      See Also:
        Constant Field Values

    - #### DEFAULT_USER

          public static final String DEFAULT_USER

      See Also:
        Constant Field Values

    - #### DEFAULT_PASSWORD

          public static final String DEFAULT_PASSWORD

      See Also:
        Constant Field Values

    - #### DEFAULT_SCHEMA

          public static final String DEFAULT_SCHEMA

      See Also:
        Constant Field Values

    - #### DEFAULT_CHARSET

          public static final String DEFAULT_CHARSET

      See Also:
        Constant Field Values

    - #### DEFAULT_USE_AFFECTED_ROWS

          public static final boolean DEFAULT_USE_AFFECTED_ROWS

      See Also:
        Constant Field Values

    - #### DEFAULT_CONNECTION_ATTRIBUTES

          public static final Map<String,String> DEFAULT_CONNECTION_ATTRIBUTES

    - #### DEFAULT_SSL_MODE

          public static final SslMode DEFAULT_SSL_MODE

    - #### DEFAULT_CHARACTER_ENCODING

          public static final String DEFAULT_CHARACTER_ENCODING

      See Also:
        Constant Field Values

    - #### DEFAULT_PIPELINING_LIMIT

          public static final int DEFAULT_PIPELINING_LIMIT

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MySQLConnectOptions

          public MySQLConnectOptions()

    - #### MySQLConnectOptions

          public MySQLConnectOptions(JsonObject json)

    - #### MySQLConnectOptions

          public MySQLConnectOptions(SqlConnectOptions other)

    - #### MySQLConnectOptions

          public MySQLConnectOptions(MySQLConnectOptions other)

  - ### Method Detail

    - #### wrap

          public static MySQLConnectOptions wrap(SqlConnectOptions options)

      Returns:
        the `options` as MySQL specific connect options

    - #### fromUri

          public static MySQLConnectOptions fromUri(String connectionUri)
                                             throws IllegalArgumentException

      Provide a `MySQLConnectOptions` configured from a connection URI.
      Parameters:
        `connectionUri` - the connection URI to configure from
      Returns:
        a `MySQLConnectOptions` parsed from the connection URI
      Throws:
        `IllegalArgumentException` - when the `connectionUri` is in an invalid format

    - #### getCollation

          public String getCollation()

      Get the collation for the connection.
      Returns:
        the MySQL collation

    - #### setCollation

          public MySQLConnectOptions setCollation(String collation)

      Set the collation for the connection.
      Parameters:
        `collation` - the collation to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCharset

          public String getCharset()

      Get the charset for the connection.
      Returns:
        the MySQL collation

    - #### setCharset

          public MySQLConnectOptions setCharset(String charset)

      Set the charset for the connection.
      Parameters:
        `charset` - the charset to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCharacterEncoding

          public String getCharacterEncoding()

      Get the Java charset for encoding string values.
      Returns:
        the charset name

    - #### setCharacterEncoding

          public MySQLConnectOptions setCharacterEncoding(String characterEncoding)

      Set the Java charset for encoding string values, this value is UTF-8 by default.
      Parameters:
        `characterEncoding` - the Java charset to configure
      Returns:
        a reference to this, so the API can be used fluently

    - #### isUseAffectedRows

          public boolean isUseAffectedRows()

      Get how affected rows are calculated on update/delete/insert.
      Returns:
        how affected rows are calculated on update/delete/insert.

    - #### setUseAffectedRows

          public MySQLConnectOptions setUseAffectedRows(boolean useAffectedRows)

      Sets how affected rows are calculated on update/delete/insert, if set to `true` an update that effectively does not change any data returns zero affected rows. See mysql-affected-rows for details.
      Parameters:
        `useAffectedRows` - whether only affected rows are count
      Returns:
        a reference to this, so the API can be used fluently

    - #### getSslMode

          public SslMode getSslMode()

      Get the value of the configured SSL mode.
      Returns:
        the sslmode

    - #### setSslMode

          public MySQLConnectOptions setSslMode(SslMode sslMode)

      Set the `SslMode` for the client, this option can be used to specify the desired security state of the connection to the server.
      Parameters:
        `sslMode` - the ssl-mode to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getAuthenticationPlugin

          public MySQLAuthenticationPlugin getAuthenticationPlugin()

      Get the default authentication plugin for connecting the server.
      Returns:
        the authentication plugin

    - #### setAuthenticationPlugin

          public MySQLConnectOptions setAuthenticationPlugin(MySQLAuthenticationPlugin authenticationPlugin)

      Set the default `authentication plguin` for the client, the option will take effect at the connection start.
      Parameters:
        `authenticationPlugin` - the auth plugin to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSsl

          public MySQLConnectOptions setSsl(boolean ssl)

      Description copied from class: `TCPSSLOptions`
      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `NetClientOptions`
      Parameters:
        `ssl` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setServerRsaPublicKeyPath

          public MySQLConnectOptions setServerRsaPublicKeyPath(String serverRsaPublicKeyPath)

      Set the path of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
      Parameters:
        `serverRsaPublicKeyPath` - the path of the server RSA public key
      Returns:
        a reference to this, so the API can be used fluently

    - #### getServerRsaPublicKeyPath

          public String getServerRsaPublicKeyPath()

      Get the path of the server RSA public key.
      Returns:
        the public key path

    - #### setServerRsaPublicKeyValue

          public MySQLConnectOptions setServerRsaPublicKeyValue(Buffer serverRsaPublicKeyValue)

      Set the value of server RSA public key which is mostly used for encrypting password under insecure connections when performing authentication.
      Parameters:
        `serverRsaPublicKeyValue` - the value of the server RSA public key
      Returns:
        a reference to this, so the API can be used fluently

    - #### getServerRsaPublicKeyValue

          public Buffer getServerRsaPublicKeyValue()

      Get the value of the server RSA public key.
      Returns:
        the public key value

    - #### getPipeliningLimit

          public int getPipeliningLimit()

      Get the pipelining limit count.
      Returns:
        the pipelining count

    - #### setPipeliningLimit

          public MySQLConnectOptions setPipeliningLimit(int pipeliningLimit)

      Set the pipelining limit count.
      Parameters:
        `pipeliningLimit` - the count to configure
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHost

          public MySQLConnectOptions setHost(String host)

      Description copied from class: `SqlConnectOptions`
      Specify the host for connecting to the server.
      Overrides:
        `setHost` in class `SqlConnectOptions`
      Parameters:
        `host` - the host to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPort

          public MySQLConnectOptions setPort(int port)

      Description copied from class: `SqlConnectOptions`
      Specify the port for connecting to the server.
      Overrides:
        `setPort` in class `SqlConnectOptions`
      Parameters:
        `port` - the port to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### setUser

          public MySQLConnectOptions setUser(String user)

      Description copied from class: `SqlConnectOptions`
      Specify the user account to be used for the authentication.
      Overrides:
        `setUser` in class `SqlConnectOptions`
      Parameters:
        `user` - the user to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPassword

          public MySQLConnectOptions setPassword(String password)

      Description copied from class: `SqlConnectOptions`
      Specify the user password to be used for the authentication.
      Overrides:
        `setPassword` in class `SqlConnectOptions`
      Parameters:
        `password` - the password to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDatabase

          public MySQLConnectOptions setDatabase(String database)

      Description copied from class: `SqlConnectOptions`
      Specify the default database for the connection.
      Overrides:
        `setDatabase` in class `SqlConnectOptions`
      Parameters:
        `database` - the database name to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### setCachePreparedStatements

          public MySQLConnectOptions setCachePreparedStatements(boolean cachePreparedStatements)

      Description copied from class: `SqlConnectOptions`
      Set whether prepared statements cache should be enabled.
      Overrides:
        `setCachePreparedStatements` in class `SqlConnectOptions`
      Parameters:
        `cachePreparedStatements` - true if cache should be enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPreparedStatementCacheMaxSize

          public MySQLConnectOptions setPreparedStatementCacheMaxSize(int preparedStatementCacheMaxSize)

      Description copied from class: `SqlConnectOptions`
      Set the maximum number of prepared statements that the connection will cache.
      Overrides:
        `setPreparedStatementCacheMaxSize` in class `SqlConnectOptions`
      Parameters:
        `preparedStatementCacheMaxSize` - the size to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPreparedStatementCacheSqlFilter

          public MySQLConnectOptions setPreparedStatementCacheSqlFilter(java.util.function.Predicate<String> predicate)

      Description copied from class: `SqlConnectOptions`
      Set a predicate filtering prepared statements that the connection will cache.

      The default predicate accepts predicate having query length < `SqlConnectOptions.DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT`

      Overrides:
        `setPreparedStatementCacheSqlFilter` in class `SqlConnectOptions`
      Parameters:
        `predicate` - the filter

    - #### setPreparedStatementCacheSqlLimit

          public MySQLConnectOptions setPreparedStatementCacheSqlLimit(int preparedStatementCacheSqlLimit)

      Description copied from class: `SqlConnectOptions`
      Set the maximum length of prepared statement SQL string that the connection will cache.

      This is an helper setting the `SqlConnectOptions.setPreparedStatementCacheSqlFilter(Predicate)`.

      Overrides:
        `setPreparedStatementCacheSqlLimit` in class `SqlConnectOptions`
      Parameters:
        `preparedStatementCacheSqlLimit` - the maximum length limit of SQL string to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### setProperties

          public MySQLConnectOptions setProperties(Map<String,String> properties)

      Description copied from class: `SqlConnectOptions`
      Set properties for this client, which will be sent to server at the connection start.
      Overrides:
        `setProperties` in class `SqlConnectOptions`
      Parameters:
        `properties` - the value of properties to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### addProperty

          public MySQLConnectOptions addProperty(String key,
                                                 String value)

      Description copied from class: `SqlConnectOptions`
      Add a property for this client, which will be sent to server at the connection start.
      Overrides:
        `addProperty` in class `SqlConnectOptions`
      Parameters:
        `key` - the value of property key
        `value` - the value of property value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSendBufferSize

          public MySQLConnectOptions setSendBufferSize(int sendBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP send buffer size
      Overrides:
        `setSendBufferSize` in class `NetClientOptions`
      Parameters:
        `sendBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReceiveBufferSize

          public MySQLConnectOptions setReceiveBufferSize(int receiveBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP receive buffer size
      Overrides:
        `setReceiveBufferSize` in class `NetClientOptions`
      Parameters:
        `receiveBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReuseAddress

          public MySQLConnectOptions setReuseAddress(boolean reuseAddress)

      Description copied from class: `NetworkOptions`
      Set the value of reuse address
      Overrides:
        `setReuseAddress` in class `NetClientOptions`
      Parameters:
        `reuseAddress` - the value of reuse address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReusePort

          public MySQLConnectOptions setReusePort(boolean reusePort)

      Description copied from class: `NetworkOptions`
      Set the value of reuse port.

      This is only supported by native transports.
      Overrides:
        `setReusePort` in class `NetClientOptions`
      Parameters:
        `reusePort` - the value of reuse port
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrafficClass

          public MySQLConnectOptions setTrafficClass(int trafficClass)

      Description copied from class: `NetworkOptions`
      Set the value of traffic class
      Overrides:
        `setTrafficClass` in class `NetClientOptions`
      Parameters:
        `trafficClass` - the value of traffic class
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpNoDelay

          public MySQLConnectOptions setTcpNoDelay(boolean tcpNoDelay)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP no delay is enabled
      Overrides:
        `setTcpNoDelay` in class `NetClientOptions`
      Parameters:
        `tcpNoDelay` - true if TCP no delay is enabled (Nagle disabled)
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpKeepAlive

          public MySQLConnectOptions setTcpKeepAlive(boolean tcpKeepAlive)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP keep alive is enabled
      Overrides:
        `setTcpKeepAlive` in class `NetClientOptions`
      Parameters:
        `tcpKeepAlive` - true if TCP keep alive is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSoLinger

          public MySQLConnectOptions setSoLinger(int soLinger)

      Description copied from class: `TCPSSLOptions`
      Set whether SO_linger keep alive is enabled
      Overrides:
        `setSoLinger` in class `NetClientOptions`
      Parameters:
        `soLinger` - true if SO_linger is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public MySQLConnectOptions setIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setIdleTimeout` in class `NetClientOptions`
      Parameters:
        `idleTimeout` - the timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeoutUnit

          public MySQLConnectOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout unit. If not specified, default is seconds.
      Overrides:
        `setIdleTimeoutUnit` in class `NetClientOptions`
      Parameters:
        `idleTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyCertOptions

          public MySQLConnectOptions setKeyCertOptions(KeyCertOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options.
      Overrides:
        `setKeyCertOptions` in class `NetClientOptions`
      Parameters:
        `options` - the key store options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyStoreOptions

          public MySQLConnectOptions setKeyStoreOptions(JksOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in jks format, aka Java keystore.
      Overrides:
        `setKeyStoreOptions` in class `NetClientOptions`
      Parameters:
        `options` - the key store in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxKeyCertOptions

          public MySQLConnectOptions setPfxKeyCertOptions(PfxOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in pfx format.
      Overrides:
        `setPfxKeyCertOptions` in class `NetClientOptions`
      Parameters:
        `options` - the key cert options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemKeyCertOptions

          public MySQLConnectOptions setPemKeyCertOptions(PemKeyCertOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert store options in pem format.
      Overrides:
        `setPemKeyCertOptions` in class `NetClientOptions`
      Parameters:
        `options` - the options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustOptions

          public MySQLConnectOptions setTrustOptions(TrustOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options.
      Overrides:
        `setTrustOptions` in class `NetClientOptions`
      Parameters:
        `options` - the trust options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustStoreOptions

          public MySQLConnectOptions setTrustStoreOptions(JksOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in jks format, aka Java truststore
      Overrides:
        `setTrustStoreOptions` in class `NetClientOptions`
      Parameters:
        `options` - the trust options in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemTrustOptions

          public MySQLConnectOptions setPemTrustOptions(PemTrustOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in pem format
      Overrides:
        `setPemTrustOptions` in class `NetClientOptions`
      Parameters:
        `options` - the trust options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxTrustOptions

          public MySQLConnectOptions setPfxTrustOptions(PfxOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in pfx format
      Overrides:
        `setPfxTrustOptions` in class `NetClientOptions`
      Parameters:
        `options` - the trust options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledCipherSuite

          public MySQLConnectOptions addEnabledCipherSuite(String suite)

      Description copied from class: `TCPSSLOptions`
      Add an enabled cipher suite, appended to the ordered suites.
      Overrides:
        `addEnabledCipherSuite` in class `NetClientOptions`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently
      See Also:
        `TCPSSLOptions.getEnabledCipherSuites()`

    - #### addEnabledSecureTransportProtocol

          public MySQLConnectOptions addEnabledSecureTransportProtocol(String protocol)

      Description copied from class: `TCPSSLOptions`
      Add an enabled SSL/TLS protocols, appended to the ordered protocols.
      Overrides:
        `addEnabledSecureTransportProtocol` in class `NetClientOptions`
      Parameters:
        `protocol` - the SSL/TLS protocol to enable
      Returns:
        a reference to this, so the API can be used fluently

    - #### removeEnabledSecureTransportProtocol

          public MySQLConnectOptions removeEnabledSecureTransportProtocol(String protocol)

      Description copied from class: `TCPSSLOptions`
      Removes an enabled SSL/TLS protocol from the ordered protocols.
      Overrides:
        `removeEnabledSecureTransportProtocol` in class `NetClientOptions`
      Parameters:
        `protocol` - the SSL/TLS protocol to disable
      Returns:
        a reference to this, so the API can be used fluently

    - #### setUseAlpn

          public MySQLConnectOptions setUseAlpn(boolean useAlpn)

      Description copied from class: `TCPSSLOptions`
      Set the ALPN usage.
      Overrides:
        `setUseAlpn` in class `NetClientOptions`
      Parameters:
        `useAlpn` - true when Application-Layer Protocol Negotiation should be used

    - #### setSslEngineOptions

          public MySQLConnectOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)

      Description copied from class: `TCPSSLOptions`
      Set to use SSL engine implementation to use.
      Overrides:
        `setSslEngineOptions` in class `NetClientOptions`
      Parameters:
        `sslEngineOptions` - the ssl engine to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### setJdkSslEngineOptions

          public MySQLConnectOptions setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)

      Overrides:
        `setJdkSslEngineOptions` in class `NetClientOptions`

    - #### setTcpFastOpen

          public MySQLConnectOptions setTcpFastOpen(boolean tcpFastOpen)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_FASTOPEN` option - only with linux native transport.
      Overrides:
        `setTcpFastOpen` in class `NetClientOptions`
      Parameters:
        `tcpFastOpen` - the fast open value

    - #### setTcpCork

          public MySQLConnectOptions setTcpCork(boolean tcpCork)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_CORK` option - only with linux native transport.
      Overrides:
        `setTcpCork` in class `NetClientOptions`
      Parameters:
        `tcpCork` - the cork value

    - #### setTcpQuickAck

          public MySQLConnectOptions setTcpQuickAck(boolean tcpQuickAck)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_QUICKACK` option - only with linux native transport.
      Overrides:
        `setTcpQuickAck` in class `NetClientOptions`
      Parameters:
        `tcpQuickAck` - the quick ack value

    - #### setOpenSslEngineOptions

          public ClientOptionsBase setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)

      Overrides:
        `setOpenSslEngineOptions` in class `NetClientOptions`

    - #### addCrlPath

          public MySQLConnectOptions addCrlPath(String crlPath)
                                         throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL path
      Overrides:
        `addCrlPath` in class `NetClientOptions`
      Parameters:
        `crlPath` - the path
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### addCrlValue

          public MySQLConnectOptions addCrlValue(Buffer crlValue)
                                          throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL value
      Overrides:
        `addCrlValue` in class `NetClientOptions`
      Parameters:
        `crlValue` - the value
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### setTrustAll

          public MySQLConnectOptions setTrustAll(boolean trustAll)

      Description copied from class: `ClientOptionsBase`
      Set whether all server certificates should be trusted
      Overrides:
        `setTrustAll` in class `NetClientOptions`
      Parameters:
        `trustAll` - true if all should be trusted
      Returns:
        a reference to this, so the API can be used fluently

    - #### setConnectTimeout

          public MySQLConnectOptions setConnectTimeout(int connectTimeout)

      Description copied from class: `ClientOptionsBase`
      Set the connect timeout
      Overrides:
        `setConnectTimeout` in class `NetClientOptions`
      Parameters:
        `connectTimeout` - connect timeout, in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMetricsName

          public MySQLConnectOptions setMetricsName(String metricsName)

      Description copied from class: `ClientOptionsBase`
      Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
      Overrides:
        `setMetricsName` in class `NetClientOptions`
      Parameters:
        `metricsName` - the metrics name
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReconnectAttempts

          public MySQLConnectOptions setReconnectAttempts(int attempts)

      Description copied from class: `NetClientOptions`
      Set the value of reconnect attempts
      Overrides:
        `setReconnectAttempts` in class `NetClientOptions`
      Parameters:
        `attempts` - the maximum number of reconnect attempts
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReconnectInterval

          public MySQLConnectOptions setReconnectInterval(long interval)

      Description copied from class: `NetClientOptions`
      Set the reconnect interval
      Overrides:
        `setReconnectInterval` in class `NetClientOptions`
      Parameters:
        `interval` - the reconnect interval in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHostnameVerificationAlgorithm

          public MySQLConnectOptions setHostnameVerificationAlgorithm(String hostnameVerificationAlgorithm)

      Description copied from class: `NetClientOptions`
      Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
      Overrides:
        `setHostnameVerificationAlgorithm` in class `NetClientOptions`
      Parameters:
        `hostnameVerificationAlgorithm` - should be HTTPS, LDAPS or an empty String
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLogActivity

          public MySQLConnectOptions setLogActivity(boolean logEnabled)

      Description copied from class: `NetworkOptions`
      Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
      Overrides:
        `setLogActivity` in class `NetClientOptions`
      Parameters:
        `logEnabled` - true for logging the network activity
      Returns:
        a reference to this, so the API can be used fluently

    - #### setProxyOptions

          public MySQLConnectOptions setProxyOptions(ProxyOptions proxyOptions)

      Description copied from class: `ClientOptionsBase`
      Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
      Overrides:
        `setProxyOptions` in class `NetClientOptions`
      Parameters:
        `proxyOptions` - proxy options object
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLocalAddress

          public MySQLConnectOptions setLocalAddress(String localAddress)

      Description copied from class: `ClientOptionsBase`
      Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
      Overrides:
        `setLocalAddress` in class `NetClientOptions`
      Parameters:
        `localAddress` - the local address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setEnabledSecureTransportProtocols

          public MySQLConnectOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)

      Description copied from class: `TCPSSLOptions`
      Sets the list of enabled SSL/TLS protocols.
      Overrides:
        `setEnabledSecureTransportProtocols` in class `NetClientOptions`
      Parameters:
        `enabledSecureTransportProtocols` - the SSL/TLS protocols to enable
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeout

          public MySQLConnectOptions setSslHandshakeTimeout(long sslHandshakeTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout, default time unit is seconds.
      Overrides:
        `setSslHandshakeTimeout` in class `NetClientOptions`
      Parameters:
        `sslHandshakeTimeout` - the SSL handshake timeout to set, in milliseconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeoutUnit

          public MySQLConnectOptions setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout unit. If not specified, default is seconds.
      Overrides:
        `setSslHandshakeTimeoutUnit` in class `NetClientOptions`
      Parameters:
        `sslHandshakeTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTracingPolicy

          public MySQLConnectOptions setTracingPolicy(TracingPolicy tracingPolicy)

      Description copied from class: `SqlConnectOptions`
      Set the tracing policy for the client behavior when Vert.x has tracing enabled.
      Overrides:
        `setTracingPolicy` in class `SqlConnectOptions`
      Parameters:
        `tracingPolicy` - the tracing policy
      Returns:
        a reference to this, so the API can be used fluently

    - #### init

          protected void init()

      Initialize with the default options.
      Overrides:
        `init` in class `SqlConnectOptions`

    - #### toJson

          public JsonObject toJson()

      Description copied from class: `ClientOptionsBase`
      Convert to JSON
      Overrides:
        `toJson` in class `SqlConnectOptions`
      Returns:
        the JSON

    - #### getSocketAddress

          public SocketAddress getSocketAddress()

      Overrides:
        `getSocketAddress` in class `SqlConnectOptions`

    - #### isUsingDomainSocket

          public boolean isUsingDomainSocket()

      Overrides:
        `isUsingDomainSocket` in class `SqlConnectOptions`

    - #### merge

          public MySQLConnectOptions merge(JsonObject other)

      Description copied from class: `SqlConnectOptions`
      Returns new options created after this object and merged with the `other` json config.
      Overrides:
        `merge` in class `SqlConnectOptions`
      Parameters:
        `other` - the other JSON object
      Returns:
        new options created after this object and merged with the `other` json config

Copyright © 2022 Eclipse. All rights reserved.