Class SocketFactoryWrapper

java.lang.Object
com.mysql.cj.protocol.StandardSocketFactory
com.mysql.jdbc.SocketFactoryWrapper
All Implemented Interfaces:
SocketFactory, SocketMetadata

public class SocketFactoryWrapper
extends StandardSocketFactory
implements SocketFactory
Wraps the legacy com.mysql.jdbc.SocketFactory implementations so they can be used as SocketFactory
  • Constructor Details

  • Method Details

    • connect

      public <T extends java.io.Closeable> T connect​(java.lang.String hostname, int portNumber, PropertySet pset, int loginTimeout) throws java.io.IOException
      Description copied from interface: SocketFactory
      Creates a new socket or channel using the given properties. Properties are parsed by the driver from the URL. All properties other than sensitive ones (user and password) are passed to this method. The driver will instantiate the socket factory with the class name given in the property "socketFactory", where the standard is com.mysql.cj.protocol.StandardSocketFactory Implementing classes are responsible for handling synchronization of this method (if needed).
      Specified by:
      connect in interface SocketFactory
      Overrides:
      connect in class StandardSocketFactory
      Type Parameters:
      T - result type
      Parameters:
      hostname - the hostname passed in the URL. It will be a single hostname, as the driver parses multi-hosts (for failover) and calls this method for each host connection attempt.
      portNumber - the port number to connect to (if required).
      pset - properties passed to the driver via the URL and/or properties instance.
      loginTimeout - login timeout in milliseconds
      Returns:
      a socket connected to the given host
      Throws:
      java.io.IOException - if an I/O error occurs
    • performTlsHandshake

      public <T extends java.io.Closeable> T performTlsHandshake​(SocketConnection socketConnection, ServerSession serverSession) throws java.io.IOException
      Description copied from interface: SocketFactory
      If required, called by the driver during MySQL protocol handshake to transform original socket to SSL socket and perform TLS handshake.
      Specified by:
      performTlsHandshake in interface SocketFactory
      Overrides:
      performTlsHandshake in class StandardSocketFactory
      Type Parameters:
      T - result type
      Parameters:
      socketConnection - current SocketConnection
      serverSession - current ServerSession
      Returns:
      SSL socket
      Throws:
      java.io.IOException - if an I/O error occurs
    • beforeHandshake

      public void beforeHandshake() throws java.io.IOException
      Description copied from interface: SocketFactory
      Called by the driver before issuing the MySQL protocol handshake.
      Specified by:
      beforeHandshake in interface SocketFactory
      Overrides:
      beforeHandshake in class StandardSocketFactory
      Throws:
      java.io.IOException - if an I/O error occurs
    • afterHandshake

      public void afterHandshake() throws java.io.IOException
      Description copied from interface: SocketFactory
      Called by the driver after completing the MySQL protocol handshake and reading the results of the authentication.
      Specified by:
      afterHandshake in interface SocketFactory
      Overrides:
      afterHandshake in class StandardSocketFactory
      Throws:
      java.io.IOException - if an I/O error occurs