Interface SocketFactory

All Known Implementing Classes:
ExportControlled.StandardSSLSocketFactory, NamedPipeSocketFactory, SocksProxySocketFactory, StandardSocketFactory

public interface SocketFactory
Interface to allow pluggable socket creation in the driver
  • Method Summary

    Modifier and Type
    Method
    Description
    Called by the driver after issuing the MySQL protocol handshake and reading the results of the handshake.
    Called by the driver before issuing the MySQL protocol handshake.
    connect(String host, int portNumber, Properties props)
    Creates a new socket using the given properties.
  • Method Details

    • afterHandshake

      Socket afterHandshake() throws SocketException, IOException
      Called by the driver after issuing the MySQL protocol handshake and reading the results of the handshake.
      Returns:
      the socket to use after the handshake
      Throws:
      SocketException - if a socket error occurs
      IOException - if an I/O error occurs
    • beforeHandshake

      Socket beforeHandshake() throws SocketException, IOException
      Called by the driver before issuing the MySQL protocol handshake. Should return the socket instance that should be used during the handshake.
      Returns:
      the socket to use before the handshake
      Throws:
      SocketException - if a socket error occurs
      IOException - if an I/O error occurs
    • connect

      Socket connect(String host, int portNumber, Properties props) throws SocketException, IOException
      Creates a new socket 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.jdbc.StandardSocketFactory Implementing classes are responsible for handling synchronization of this method (if needed).
      Parameters:
      host - the hostname passed in the JDBC 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).
      props - properties passed to the driver via the URL and/or properties instance.
      Returns:
      a socket connected to the given host
      Throws:
      SocketException - if a socket error occurs
      IOException - if an I/O error occurs